/**
 * Copyright (c) 2021 OceanBase
 * OceanBase CE is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */

#include "share/stat/hive/ob_hive_hll_constants.h"
#include <cmath>

namespace oceanbase {
namespace share {

// Define static const members
const int32_t ObHiveHLLConstants::MIN_P_VALUE;
const int32_t ObHiveHLLConstants::MAX_P_VALUE;
const int32_t ObHiveHLLConstants::P_PRIME_VALUE;
const int32_t ObHiveHLLConstants::Q_PRIME_VALUE;
const int32_t ObHiveHLLConstants::K_NEAREST_NEIGHBOR;
const int32_t ObHiveHLLConstants::THRESHOLD_DATA_SIZE;
const int32_t ObHiveHLLConstants::RAW_ESTIMATE_DATA_PRECISION_COUNT;
const int32_t ObHiveHLLConstants::RAW_ESTIMATE_DATA_MAX_SIZE;
const int32_t ObHiveHLLConstants::INVERSE_POW2_DATA_SIZE;

const double ObHiveHLLConstants::THRESHOLD_DATA[THRESHOLD_DATA_SIZE] = {
    10,   20,   40,    80,    220,   400,    900,   1800,
    3100, 6500, 15500, 20000, 50000, 120000, 350000};

// Raw estimate data arrays for each precision (4-18)
const double ObHiveHLLConstants::RAW_ESTIMATE_DATA
    [RAW_ESTIMATE_DATA_PRECISION_COUNT][RAW_ESTIMATE_DATA_MAX_SIZE] = {
        // precision 4
        {
            11,      11.717,  12.207,  12.7896, 13.2882, 13.8204, 14.3772,
            14.9342, 15.5202, 16.161,  16.7722, 17.4636, 18.0396, 18.6766,
            19.3566, 20.0454, 20.7936, 21.4856, 22.2666, 22.9946, 23.766,
            24.4692, 25.3638, 26.0764, 26.7864, 27.7602, 28.4814, 29.433,
            30.2926, 31.0664, 31.9996, 32.7956, 33.5366, 34.5894, 35.5738,
            36.2698, 37.3682, 38.0544, 39.2342, 40.0108, 40.7966, 41.9298,
            42.8704, 43.6358, 44.5194, 45.773,  46.6772, 47.6174, 48.4888,
            49.3304, 50.2506, 51.4996, 52.3824, 53.3078, 54.3984, 55.5838,
            56.6618, 57.2174, 58.3514, 59.0802, 60.1482, 61.0376, 62.3598,
            62.8078, 63.9744, 64.914,  65.781,  67.1806, 68.0594, 68.8446,
            69.7928, 70.8248, 71.8324, 72.8598, 73.6246, 74.7014, 75.393,
            76.6708, 77.2394,
        },
        // precision 5
        {
            23,       23.1194,  23.8208,  24.2318,  24.77,    25.2436,
            25.7774,  26.2848,  26.8224,  27.3742,  27.9336,  28.503,
            29.0494,  29.6292,  30.2124,  30.798,   31.367,   31.9728,
            32.5944,  33.217,   33.8438,  34.3696,  35.0956,  35.7044,
            36.324,   37.0668,  37.6698,  38.3644,  39.049,   39.6918,
            40.4146,  41.082,   41.687,   42.5398,  43.2462,  43.857,
            44.6606,  45.4168,  46.1248,  46.9222,  47.6804,  48.447,
            49.3454,  49.9594,  50.7636,  51.5776,  52.331,   53.19,
            53.9676,  54.7564,  55.5314,  56.4442,  57.3708,  57.9774,
            58.9624,  59.8796,  60.755,   61.472,   62.2076,  63.1024,
            63.8908,  64.7338,  65.7728,  66.629,   67.413,   68.3266,
            69.1524,  70.2642,  71.1806,  72.0566,  72.9192,  73.7598,
            74.3516,  75.5802,  76.4386,  77.4916,  78.1524,  79.1892,
            79.8414,  80.8798,  81.8376,  82.4698,  83.7656,  84.331,
            85.5914,  86.6012,  87.7016,  88.5582,  89.3394,  90.3544,
            91.4912,  92.308,   93.3552,  93.9746,  95.2052,  95.727,
            97.1322,  98.3944,  98.7588,  100.242,  101.1914, 102.2538,
            102.8776, 103.6292, 105.1932, 105.9152, 107.0868, 107.6728,
            108.7144, 110.3114, 110.8716, 111.245,  112.7908, 113.7064,
            114.636,  115.7464, 116.1788, 117.7464, 118.4896, 119.6166,
            120.5082, 121.7798, 122.9028, 123.4426, 124.8854, 125.705,
            126.4652, 128.3464, 128.3462, 130.0398, 131.0342, 131.0042,
            132.4766, 133.511,  134.7252, 135.425,  136.5172, 138.0572,
            138.6694, 139.3712, 140.8598, 141.4594, 142.554,  143.4006,
            144.7374, 146.1634, 146.8994, 147.605,  147.9304, 149.1636,
            150.2468, 151.5876, 152.2096, 153.7032, 154.7146, 155.807,
            156.9228, 157.0372, 158.5852,
        },
        // precision 6
        {
            46,       46.1902,  47.271,   47.8358,  48.8142,  49.2854,
            50.317,   51.354,   51.8924,  52.9436,  53.4596,  54.5262,
            55.6248,  56.1574,  57.2822,  57.837,   58.9636,  60.074,
            60.7042,  61.7976,  62.4772,  63.6564,  64.7942,  65.5004,
            66.686,   67.291,   68.5672,  69.8556,  70.4982,  71.8204,
            72.4252,  73.7744,  75.0786,  75.8344,  77.0294,  77.8098,
            79.0794,  80.5732,  81.1878,  82.5648,  83.2902,  84.6784,
            85.3352,  86.8946,  88.3712,  89.0852,  90.499,   91.2686,
            92.6844,  94.2234,  94.9732,  96.3356,  97.2286,  98.7262,
            100.3284, 101.1048, 102.5962, 103.3562, 105.1272, 106.4184,
            107.4974, 109.0822, 109.856,  111.48,   113.2834, 114.0208,
            115.637,  116.5174, 118.0576, 119.7476, 120.427,  122.1326,
            123.2372, 125.2788, 126.6776, 127.7926, 129.1952, 129.9564,
            131.6454, 133.87,   134.5428, 136.2,    137.0294, 138.6278,
            139.6782, 141.792,  143.3516, 144.2832, 146.0394, 147.0748,
            148.4912, 150.849,  151.696,  153.5404, 154.073,  156.3714,
            157.7216, 158.7328, 160.4208, 161.4184, 163.9424, 165.2772,
            166.411,  168.1308, 168.769,  170.9258, 172.6828, 173.7502,
            175.706,  176.3886, 179.0186, 180.4518, 181.927,  183.4172,
            184.4114, 186.033,  188.5124, 189.5564, 191.6008, 192.4172,
            193.8044, 194.997,  197.4548, 198.8948, 200.2346, 202.3086,
            203.1548, 204.8842, 206.6508, 206.6772, 209.7254, 210.4752,
            212.7228, 214.6614, 215.1676, 217.793,  218.0006, 219.9052,
            221.66,   223.5588, 225.1636, 225.6882, 227.7126, 229.4502,
            231.1978, 232.9756, 233.1654, 236.727,  238.1974, 237.7474,
            241.1346, 242.3048, 244.1948, 245.3134, 246.879,  249.1204,
            249.853,  252.6792, 253.857,  254.4486, 257.2362, 257.9534,
            260.0286, 260.5632, 262.663,  264.723,  265.7566, 267.2566,
            267.1624, 270.62,   272.8216, 273.2166, 275.2056, 276.2202,
            278.3726, 280.3344, 281.9284, 283.9728, 284.1924, 286.4872,
            287.587,  289.807,  291.1206, 292.769,  294.8708, 296.665,
            297.1182, 299.4012, 300.6352, 302.1354, 304.1756, 306.1606,
            307.3462, 308.5214, 309.4134, 310.8352, 313.9684, 315.837,
            316.7796, 318.9858,
        },
        // precision 7
        {
            92,       93.4934,  94.9758,  96.4574,  97.9718,  99.4954,
            101.5302, 103.0756, 104.6374, 106.1782, 107.7888, 109.9522,
            111.592,  113.2532, 114.9086, 116.5938, 118.9474, 120.6796,
            122.4394, 124.2176, 125.9768, 128.4214, 130.2528, 132.0102,
            133.8658, 135.7278, 138.3044, 140.1316, 142.093,  144.0032,
            145.9092, 148.6306, 150.5294, 152.5756, 154.6508, 156.662,
            159.552,  161.3724, 163.617,  165.5754, 167.7872, 169.8444,
            172.7988, 174.8606, 177.2118, 179.3566, 181.4476, 184.5882,
            186.6816, 189.0824, 191.0258, 193.6048, 196.4436, 198.7274,
            200.957,  203.147,  205.4364, 208.7592, 211.3386, 213.781,
            215.8028, 218.656,  221.6544, 223.996,  226.4718, 229.1544,
            231.6098, 234.5956, 237.0616, 239.5758, 242.4878, 244.5244,
            248.2146, 250.724,  252.8722, 255.5198, 258.0414, 261.941,
            264.9048, 266.87,   269.4304, 272.028,  274.4708, 278.37,
            281.0624, 283.4668, 286.5532, 289.4352, 293.2564, 295.2744,
            298.2118, 300.7472, 304.1456, 307.2928, 309.7504, 312.5528,
            315.979,  318.2102, 322.1834, 324.3494, 327.325,  330.6614,
            332.903,  337.2544, 339.9042, 343.215,  345.2864, 348.0814,
            352.6764, 355.301,  357.139,  360.658,  363.1732, 366.5902,
            369.9538, 373.0828, 375.922,  378.9902, 382.7328, 386.4538,
            388.1136, 391.2234, 394.0878, 396.708,  401.1556, 404.1852,
            406.6372, 409.6822, 412.7796, 416.6078, 418.4916, 422.131,
            424.5376, 428.1988, 432.211,  434.4502, 438.5282, 440.912,
            444.0448, 447.7432, 450.8524, 453.7988, 456.7858, 458.8868,
            463.9886, 466.5064, 468.9124, 472.6616, 475.4682, 478.582,
            481.304,  485.2738, 488.6894, 490.329,  496.106,  497.6908,
            501.1374, 504.5322, 506.8848, 510.3324, 513.4512, 516.179,
            520.4412, 522.6066, 526.167,  528.7794, 533.379,  536.067,
            538.46,   542.9116, 545.692,  547.9546, 552.493,  555.2722,
            557.335,  562.449,  564.2014, 569.0738, 571.0974, 574.8564,
            578.2996, 581.409,  583.9704, 585.8098, 589.6528, 594.5998,
            595.958,  600.068,  603.3278, 608.2016, 609.9632, 612.864,
            615.43,   620.7794, 621.272,  625.8644, 629.206,  633.219,
            634.5154, 638.6102,
        },
        // precision 8
        {
            184.2152,  187.2454,  190.2096,  193.6652,  196.6312,  199.6822,
            203.249,   206.3296,  210.0038,  213.2074,  216.4612,  220.27,
            223.5178,  227.4412,  230.8032,  234.1634,  238.1688,  241.6074,
            245.6946,  249.2664,  252.8228,  257.0432,  260.6824,  264.9464,
            268.6268,  272.2626,  276.8376,  280.4034,  284.8956,  288.8522,
            292.7638,  297.3552,  301.3556,  305.7526,  309.9292,  313.8954,
            318.8198,  322.7668,  327.298,   331.6688,  335.9466,  340.9746,
            345.1672,  349.3474,  354.3028,  358.8912,  364.114,   368.4646,
            372.9744,  378.4092,  382.6022,  387.843,   392.5684,  397.1652,
            402.5426,  407.4152,  412.5388,  417.3592,  422.1366,  427.486,
            432.3918,  437.5076,  442.509,   447.3834,  453.3498,  458.0668,
            463.7346,  469.1228,  473.4528,  479.7,     484.644,   491.0518,
            495.5774,  500.9068,  506.432,   512.1666,  517.434,   522.6644,
            527.4894,  533.6312,  538.3804,  544.292,   550.5496,  556.0234,
            562.8206,  566.6146,  572.4188,  579.117,   583.6762,  590.6576,
            595.7864,  601.509,   607.5334,  612.9204,  619.772,   624.2924,
            630.8654,  636.1836,  642.745,   649.1316,  655.0386,  660.0136,
            666.6342,  671.6196,  678.1866,  684.4282,  689.3324,  695.4794,
            702.5038,  708.129,   713.528,   720.3204,  726.463,   732.7928,
            739.123,   744.7418,  751.2192,  756.5102,  762.6066,  769.0184,
            775.2224,  781.4014,  787.7618,  794.1436,  798.6506,  805.6378,
            811.766,   819.7514,  824.5776,  828.7322,  837.8048,  843.6302,
            849.9336,  854.4798,  861.3388,  867.9894,  873.8196,  880.3136,
            886.2308,  892.4588,  899.0816,  905.4076,  912.0064,  917.3878,
            923.619,   929.998,   937.3482,  943.9506,  947.991,   955.1144,
            962.203,   968.8222,  975.7324,  981.7826,  988.7666,  994.2648,
            1000.3128, 1007.4082, 1013.7536, 1020.3376, 1026.7156, 1031.7478,
            1037.4292, 1045.393,  1051.2278, 1058.3434, 1062.8726, 1071.884,
            1076.806,  1082.9176, 1089.1678, 1095.5032, 1102.525,  1107.2264,
            1115.315,  1120.93,   1127.252,  1134.1496, 1139.0408, 1147.5448,
            1153.3296, 1158.1974, 1166.5262, 1174.3328, 1175.657,  1184.4222,
            1190.9172, 1197.1292, 1204.4606, 1210.4578, 1218.8728, 1225.3336,
            1226.6592, 1236.5768, 1241.363,  1249.4074, 1254.6566, 1260.8014,
            1266.5454, 1274.5192,
        },
        // precision 9
        {
            369,       374.8294,  381.2452,  387.6698,  394.1464,  400.2024,
            406.8782,  413.6598,  420.462,   427.2826,  433.7102,  440.7416,
            447.9366,  455.1046,  462.285,   469.0668,  476.306,   483.8448,
            491.301,   498.9886,  506.2422,  513.8138,  521.7074,  529.7428,
            537.8402,  545.1664,  553.3534,  561.594,   569.6886,  577.7876,
            585.65,    594.228,   602.8036,  611.1666,  620.0818,  628.0824,
            637.2574,  646.302,   655.1644,  664.0056,  672.3802,  681.7192,
            690.5234,  700.2084,  708.831,   718.485,   728.1112,  737.4764,
            746.76,    756.3368,  766.5538,  775.5058,  785.2646,  795.5902,
            804.3818,  814.8998,  824.9532,  835.2062,  845.2798,  854.4728,
            864.9582,  875.3292,  886.171,   896.781,   906.5716,  916.7048,
            927.5322,  937.875,   949.3972,  958.3464,  969.7274,  980.2834,
            992.1444,  1003.4264, 1013.0166, 1024.018,  1035.0438, 1046.34,
            1057.6856, 1068.9836, 1079.0312, 1091.677,  1102.3188, 1113.4846,
            1124.4424, 1135.739,  1147.1488, 1158.9202, 1169.406,  1181.5342,
            1193.2834, 1203.8954, 1216.3286, 1226.2146, 1239.6684, 1251.9946,
            1262.123,  1275.4338, 1285.7378, 1296.076,  1308.9692, 1320.4964,
            1333.0998, 1343.9864, 1357.7754, 1368.3208, 1380.4838, 1392.7388,
            1406.0758, 1416.9098, 1428.9728, 1440.9228, 1453.9292, 1462.617,
            1476.05,   1490.2996, 1500.6128, 1513.7392, 1524.5174, 1536.6322,
            1548.2584, 1562.3766, 1572.423,  1587.1232, 1596.5164, 1610.5938,
            1622.5972, 1633.1222, 1647.7674, 1658.5044, 1671.57,   1683.7044,
            1695.4142, 1708.7102, 1720.6094, 1732.6522, 1747.841,  1756.4072,
            1769.9786, 1782.3276, 1797.5216, 1808.3186, 1819.0694, 1834.354,
            1844.575,  1856.2808, 1871.1288, 1880.7852, 1893.9622, 1906.3418,
            1920.6548, 1932.9302, 1945.8584, 1955.473,  1968.8248, 1980.6446,
            1995.9598, 2008.349,  2019.8556, 2033.0334, 2044.0206, 2059.3956,
            2069.9174, 2082.6084, 2093.7036, 2106.6108, 2118.9124, 2132.301,
            2144.7628, 2159.8422, 2171.0212, 2183.101,  2193.5112, 2208.052,
            2221.3194, 2233.3282, 2247.295,  2257.7222, 2273.342,  2286.5638,
            2299.6786, 2310.8114, 2322.3312, 2335.516,  2349.874,  2363.5968,
            2373.865,  2387.1918, 2401.8328, 2414.8496, 2424.544,  2436.7592,
            2447.1682, 2464.1958, 2474.3438, 2489.0006, 2497.4526, 2513.6586,
            2527.19,   2540.7028, 2553.768,
        },
        // precision 10
        {
            738.1256,  750.4234,  763.1064,  775.4732,  788.4636,  801.0644,
            814.488,   827.9654,  841.0832,  854.7864,  868.1992,  882.2176,
            896.5228,  910.1716,  924.7752,  938.899,   953.6126,  968.6492,
            982.9474,  998.5214,  1013.1064, 1028.6364, 1044.2468, 1059.4588,
            1075.3832, 1091.0584, 1106.8606, 1123.3868, 1139.5062, 1156.1862,
            1172.463,  1189.339,  1206.1936, 1223.1292, 1240.1854, 1257.2908,
            1275.3324, 1292.8518, 1310.5204, 1328.4854, 1345.9318, 1364.552,
            1381.4658, 1400.4256, 1419.849,  1438.152,  1456.8956, 1474.8792,
            1494.118,  1513.62,   1532.5132, 1551.9322, 1570.7726, 1590.6086,
            1610.5332, 1630.5918, 1650.4294, 1669.7662, 1690.4106, 1710.7338,
            1730.9012, 1750.4486, 1770.1556, 1791.6338, 1812.7312, 1833.6264,
            1853.9526, 1874.8742, 1896.8326, 1918.1966, 1939.5594, 1961.07,
            1983.037,  2003.1804, 2026.071,  2047.4884, 2070.0848, 2091.2944,
            2114.333,  2135.9626, 2158.2902, 2181.0814, 2202.0334, 2224.4832,
            2246.39,   2269.7202, 2292.1714, 2314.2358, 2338.9346, 2360.891,
            2384.0264, 2408.3834, 2430.1544, 2454.8684, 2476.9896, 2501.4368,
            2522.8702, 2548.0408, 2570.6738, 2593.5208, 2617.0158, 2640.2302,
            2664.0962, 2687.4986, 2714.2588, 2735.3914, 2759.6244, 2781.8378,
            2808.0072, 2830.6516, 2856.2454, 2877.2136, 2903.4546, 2926.785,
            2951.2294, 2976.468,  3000.867,  3023.6508, 3049.91,   3073.5984,
            3098.162,  3121.5564, 3146.2328, 3170.9484, 3195.5902, 3221.3346,
            3242.7032, 3271.6112, 3296.5546, 3317.7376, 3345.072,  3369.9518,
            3394.326,  3418.1818, 3444.6926, 3469.086,  3494.2754, 3517.8698,
            3544.248,  3565.3768, 3588.7234, 3616.979,  3643.7504, 3668.6812,
            3695.72,   3719.7392, 3742.6224, 3770.4456, 3795.6602, 3819.9058,
            3844.002,  3869.517,  3895.6824, 3920.8622, 3947.1364, 3973.985,
            3995.4772, 4021.62,   4046.628,  4074.65,   4096.2256, 4121.831,
            4146.6406, 4173.276,  4195.0744, 4223.9696, 4251.3708, 4272.9966,
            4300.8046, 4326.302,  4353.1248, 4374.312,  4403.0322, 4426.819,
            4450.0598, 4478.5206, 4504.8116, 4528.8928, 4553.9584, 4578.8712,
            4603.8384, 4632.3872, 4655.5128, 4675.821,  4704.6222, 4731.9862,
            4755.4174, 4781.2628, 4804.332,  4832.3048, 4862.8752, 4883.4148,
            4906.9544, 4935.3516, 4954.3532, 4984.0248, 5011.217,  5035.3258,
            5057.3672, 5084.1828,
        },
        // precision 11
        {
            1477,       1501.6014, 1526.5802,  1551.7942,  1577.3042,
            1603.2062,  1629.8402, 1656.2292,  1682.9462,  1709.9926,
            1737.3026,  1765.4252, 1793.0578,  1821.6092,  1849.626,
            1878.5568,  1908.527,  1937.5154,  1967.1874,  1997.3878,
            2027.37,    2058.1972, 2089.5728,  2120.1012,  2151.9668,
            2183.292,   2216.0772, 2247.8578,  2280.6562,  2313.041,
            2345.714,   2380.3112, 2414.1806,  2447.9854,  2481.656,
            2516.346,   2551.5154, 2586.8378,  2621.7448,  2656.6722,
            2693.5722,  2729.1462, 2765.4124,  2802.8728,  2838.898,
            2876.408,   2913.4926, 2951.4938,  2989.6776,  3026.282,
            3065.7704,  3104.1012, 3143.7388,  3181.6876,  3221.1872,
            3261.5048,  3300.0214, 3339.806,   3381.409,   3421.4144,
            3461.4294,  3502.2286, 3544.651,   3586.6156,  3627.337,
            3670.083,   3711.1538, 3753.5094,  3797.01,    3838.6686,
            3882.1678,  3922.8116, 3967.9978,  4009.9204,  4054.3286,
            4097.5706,  4140.6014, 4185.544,   4229.5976,  4274.583,
            4316.9438,  4361.672,  4406.2786,  4451.8628,  4496.1834,
            4543.505,   4589.1816, 4632.5188,  4678.2294,  4724.8908,
            4769.0194,  4817.052,  4861.4588,  4910.1596,  4956.4344,
            5002.5238,  5048.13,   5093.6374,  5142.8162,  5187.7894,
            5237.3984,  5285.6078, 5331.0858,  5379.1036,  5428.6258,
            5474.6018,  5522.7618, 5571.5822,  5618.59,    5667.9992,
            5714.88,    5763.454,  5808.6982,  5860.3644,  5910.2914,
            5953.571,   6005.9232, 6055.1914,  6104.5882,  6154.5702,
            6199.7036,  6251.1764, 6298.7596,  6350.0302,  6398.061,
            6448.4694,  6495.933,  6548.0474,  6597.7166,  6646.9416,
            6695.9208,  6742.6328, 6793.5276,  6842.1934,  6894.2372,
            6945.3864,  6996.9228, 7044.2372,  7094.1374,  7142.2272,
            7192.2942,  7238.8338, 7288.9006,  7344.0908,  7394.8544,
            7443.5176,  7490.4148, 7542.9314,  7595.6738,  7641.9878,
            7694.3688,  7743.0448, 7797.522,   7845.53,    7899.594,
            7950.3132,  7996.455,  8050.9442,  8092.9114,  8153.1374,
            8197.4472,  8252.8278, 8301.8728,  8348.6776,  8401.4698,
            8453.551,   8504.6598, 8553.8944,  8604.1276,  8657.6514,
            8710.3062,  8758.908,  8807.8706,  8862.1702,  8910.4668,
            8960.77,    9007.2766, 9063.164,   9121.0534,  9164.1354,
            9218.1594,  9267.767,  9319.0594,  9372.155,   9419.7126,
            9474.3722,  9520.1338, 9572.368,   9622.7702,  9675.8448,
            9726.5396,  9778.7378, 9827.6554,  9878.1922,  9928.7782,
            9978.3984,  10026.578, 10076.5626, 10137.1618, 10177.5244,
            10229.9176,
        },
        // precision 12
        {
            2954,       3003.4782,  3053.3568,  3104.3666,  3155.324,
            3206.9598,  3259.648,   3312.539,   3366.1474,  3420.2576,
            3474.8376,  3530.6076,  3586.451,   3643.38,    3700.4104,
            3757.5638,  3815.9676,  3875.193,   3934.838,   3994.8548,
            4055.018,   4117.1742,  4178.4482,  4241.1294,  4304.4776,
            4367.4044,  4431.8724,  4496.3732,  4561.4304,  4627.5326,
            4693.949,   4761.5532,  4828.7256,  4897.6182,  4965.5186,
            5034.4528,  5104.865,   5174.7164,  5244.6828,  5316.6708,
            5387.8312,  5459.9036,  5532.476,   5604.8652,  5679.6718,
            5753.757,   5830.2072,  5905.2828,  5980.0434,  6056.6264,
            6134.3192,  6211.5746,  6290.0816,  6367.1176,  6447.9796,
            6526.5576,  6606.1858,  6686.9144,  6766.1142,  6847.0818,
            6927.9664,  7010.9096,  7091.0816,  7175.3962,  7260.3454,
            7344.018,   7426.4214,  7511.3106,  7596.0686,  7679.8094,
            7765.818,   7852.4248,  7936.834,   8022.363,   8109.5066,
            8200.4554,  8288.5832,  8373.366,   8463.4808,  8549.7682,
            8642.0522,  8728.3288,  8820.9528,  8907.727,   9001.0794,
            9091.2522,  9179.988,   9269.852,   9362.6394,  9453.642,
            9546.9024,  9640.6616,  9732.6622,  9824.3254,  9917.7484,
            10007.9392, 10106.7508, 10196.2152, 10289.8114, 10383.5494,
            10482.3064, 10576.8734, 10668.7872, 10764.7156, 10862.0196,
            10952.793,  11049.9748, 11146.0702, 11241.4492, 11339.2772,
            11434.2336, 11530.741,  11627.6136, 11726.311,  11821.5964,
            11918.837,  12015.3724, 12113.0162, 12213.0424, 12306.9804,
            12408.4518, 12504.8968, 12604.586,  12700.9332, 12798.705,
            12898.5142, 12997.0488, 13094.788,  13198.475,  13292.7764,
            13392.9698, 13486.8574, 13590.1616, 13686.5838, 13783.6264,
            13887.2638, 13992.0978, 14081.0844, 14189.9956, 14280.0912,
            14382.4956, 14486.4384, 14588.1082, 14686.2392, 14782.276,
            14888.0284, 14985.1864, 15088.8596, 15187.0998, 15285.027,
            15383.6694, 15495.8266, 15591.3736, 15694.2008, 15790.3246,
            15898.4116, 15997.4522, 16095.5014, 16198.8514, 16291.7492,
            16402.6424, 16499.1266, 16606.2436, 16697.7186, 16796.3946,
            16902.3376, 17005.7672, 17100.814,  17206.8282, 17305.8262,
            17416.0744, 17508.4092, 17617.0178, 17715.4554, 17816.758,
            17920.1748, 18012.9236, 18119.7984, 18223.2248, 18324.2482,
            18426.6276, 18525.0932, 18629.8976, 18733.2588, 18831.0466,
            18940.1366, 19032.2696, 19131.729,  19243.4864, 19349.6932,
            19442.866,  19547.9448, 19653.2798, 19754.4034, 19854.0692,
            19965.1224, 20065.1774, 20158.2212, 20253.353,  20366.3264,
            20463.22,
        },
        // precision 13
        {
            5908.5052,  6007.2672,  6107.347,   6208.5794,  6311.2622,
            6414.5514,  6519.3376,  6625.6952,  6732.5988,  6841.3552,
            6950.5972,  7061.3082,  7173.5646,  7287.109,   7401.8216,
            7516.4344,  7633.3802,  7751.2962,  7870.3784,  7990.292,
            8110.79,    8233.4574,  8356.6036,  8482.2712,  8607.7708,
            8735.099,   8863.1858,  8993.4746,  9123.8496,  9255.6794,
            9388.5448,  9522.7516,  9657.3106,  9792.6094,  9930.5642,
            10068.794,  10206.7256, 10347.81,   10490.3196, 10632.0778,
            10775.9916, 10920.4662, 11066.124,  11213.073,  11358.0362,
            11508.1006, 11659.1716, 11808.7514, 11959.4884, 12112.1314,
            12265.037,  12420.3756, 12578.933,  12734.311,  12890.0006,
            13047.2144, 13207.3096, 13368.5144, 13528.024,  13689.847,
            13852.7528, 14018.3168, 14180.5372, 14346.9668, 14513.5074,
            14677.867,  14846.2186, 15017.4186, 15184.9716, 15356.339,
            15529.2972, 15697.3578, 15871.8686, 16042.187,  16216.4094,
            16389.4188, 16565.9126, 16742.3272, 16919.0042, 17094.7592,
            17273.965,  17451.8342, 17634.4254, 17810.5984, 17988.9242,
            18171.051,  18354.7938, 18539.466,  18721.0408, 18904.9972,
            19081.867,  19271.9118, 19451.8694, 19637.9816, 19821.2922,
            20013.1292, 20199.3858, 20387.8726, 20572.9514, 20770.7764,
            20955.1714, 21144.751,  21329.9952, 21520.709,  21712.7016,
            21906.3868, 22096.2626, 22286.0524, 22475.051,  22665.5098,
            22862.8492, 23055.5294, 23249.6138, 23437.848,  23636.273,
            23826.093,  24020.3296, 24213.3896, 24411.7392, 24602.9614,
            24805.7952, 24998.1552, 25193.9588, 25389.0166, 25585.8392,
            25780.6976, 25981.2728, 26175.977,  26376.5252, 26570.1964,
            26773.387,  26962.9812, 27163.0586, 27368.164,  27565.0534,
            27758.7428, 27961.1276, 28163.2324, 28362.3816, 28565.7668,
            28758.644,  28956.9768, 29163.4722, 29354.7026, 29561.1186,
            29767.9948, 29959.9986, 30164.0492, 30366.9818, 30562.5338,
            30762.9928, 30976.1592, 31166.274,  31376.722,  31570.3734,
            31770.809,  31974.8934, 32179.5286, 32387.5442, 32582.3504,
            32794.076,  32989.9528, 33191.842,  33392.4684, 33595.659,
            33801.8672, 34000.3414, 34200.0922, 34402.6792, 34610.0638,
            34804.0084, 35011.13,   35218.669,  35418.6634, 35619.0792,
            35830.6534, 36028.4966, 36229.7902, 36438.6422, 36630.7764,
            36833.3102, 37048.6728, 37247.3916, 37453.5904, 37669.3614,
            37854.5526, 38059.305,  38268.0936, 38470.2516, 38674.7064,
            38876.167,  39068.3794, 39281.9144, 39492.8566, 39684.8628,
            39898.4108, 40093.1836, 40297.6858, 40489.7086, 40717.2424,
        },
        // precision 14
        {
            11817.475,  12015.0046, 12215.3792, 12417.7504, 12623.1814,
            12830.0086, 13040.0072, 13252.503,  13466.178,  13683.2738,
            13902.0344, 14123.9798, 14347.394,  14573.7784, 14802.6894,
            15033.6824, 15266.9134, 15502.8624, 15741.4944, 15980.7956,
            16223.8916, 16468.6316, 16715.733,  16965.5726, 17217.204,
            17470.666,  17727.8516, 17986.7886, 18247.6902, 18510.9632,
            18775.304,  19044.7486, 19314.4408, 19587.202,  19862.2576,
            20135.924,  20417.0324, 20697.9788, 20979.6112, 21265.0274,
            21550.723,  21841.6906, 22132.162,  22428.1406, 22722.127,
            23020.5606, 23319.7394, 23620.4014, 23925.2728, 24226.9224,
            24535.581,  24845.505,  25155.9618, 25470.3828, 25785.9702,
            26103.7764, 26420.4132, 26742.0186, 27062.8852, 27388.415,
            27714.6024, 28042.296,  28365.4494, 28701.1526, 29031.8008,
            29364.2156, 29704.497,  30037.1458, 30380.111,  30723.8168,
            31059.5114, 31404.9498, 31751.6752, 32095.2686, 32444.7792,
            32794.767,  33145.204,  33498.4226, 33847.6502, 34209.006,
            34560.849,  34919.4838, 35274.9778, 35635.1322, 35996.3266,
            36359.1394, 36722.8266, 37082.8516, 37447.7354, 37815.9606,
            38191.0692, 38559.4106, 38924.8112, 39294.6726, 39663.973,
            40042.261,  40416.2036, 40779.2036, 41161.6436, 41540.9014,
            41921.1998, 42294.7698, 42678.5264, 43061.3464, 43432.375,
            43818.432,  44198.6598, 44583.0138, 44970.4794, 45353.924,
            45729.858,  46118.2224, 46511.5724, 46900.7386, 47280.6964,
            47668.1472, 48055.6796, 48446.9436, 48838.7146, 49217.7296,
            49613.7796, 50010.7508, 50410.0208, 50793.7886, 51190.2456,
            51583.1882, 51971.0796, 52376.5338, 52763.319,  53165.5534,
            53556.5594, 53948.2702, 54346.352,  54748.7914, 55138.577,
            55543.4824, 55941.1748, 56333.7746, 56745.1552, 57142.7944,
            57545.2236, 57935.9956, 58348.5268, 58737.5474, 59158.5962,
            59542.6896, 59958.8004, 60349.3788, 60755.0212, 61147.6144,
            61548.194,  61946.0696, 62348.6042, 62763.603,  63162.781,
            63560.635,  63974.3482, 64366.4908, 64771.5876, 65176.7346,
            65597.3916, 65995.915,  66394.0384, 66822.9396, 67203.6336,
            67612.2032, 68019.0078, 68420.0388, 68821.22,   69235.8388,
            69640.0724, 70055.155,  70466.357,  70863.4266, 71276.2482,
            71677.0306, 72080.2006, 72493.0214, 72893.5952, 73314.5856,
            73714.9852, 74125.3022, 74521.2122, 74933.6814, 75341.5904,
            75743.0244, 76166.0278, 76572.1322, 76973.1028, 77381.6284,
            77800.6092, 78189.328,  78607.0962, 79012.2508, 79407.8358,
            79825.725,  80238.701,  80646.891,  81035.6436, 81460.0448,
            81876.3884,
        },
        // precision 15
        {
            23635.0036,  24030.8034,  24431.4744,  24837.1524,  25246.7928,
            25661.326,   26081.3532,  26505.2806,  26933.9892,  27367.7098,
            27805.318,   28248.799,   28696.4382,  29148.8244,  29605.5138,
            30066.8668,  30534.2344,  31006.32,    31480.778,   31962.2418,
            32447.3324,  32938.0232,  33432.731,   33930.728,   34433.9896,
            34944.1402,  35457.5588,  35974.5958,  36497.3296,  37021.9096,
            37554.326,   38088.0826,  38628.8816,  39171.3192,  39723.2326,
            40274.5554,  40832.3142,  41390.613,   41959.5908,  42532.5466,
            43102.0344,  43683.5072,  44266.694,   44851.2822,  45440.7862,
            46038.0586,  46640.3164,  47241.064,   47846.155,   48454.7396,
            49076.9168,  49692.542,   50317.4778,  50939.65,    51572.5596,
            52210.2906,  52843.7396,  53481.3996,  54127.236,   54770.406,
            55422.6598,  56078.7958,  56736.7174,  57397.6784,  58064.5784,
            58730.308,   59404.9784,  60077.0864,  60751.9158,  61444.1386,
            62115.817,   62808.7742,  63501.4774,  64187.5454,  64883.6622,
            65582.7468,  66274.5318,  66976.9276,  67688.7764,  68402.138,
            69109.6274,  69822.9706,  70543.6108,  71265.5202,  71983.3848,
            72708.4656,  73433.384,   74158.4664,  74896.4868,  75620.9564,
            76362.1434,  77098.3204,  77835.7662,  78582.6114,  79323.9902,
            80067.8658,  80814.9246,  81567.0136,  82310.8536,  83061.9952,
            83821.4096,  84580.8608,  85335.547,   86092.5802,  86851.6506,
            87612.311,   88381.2016,  89146.3296,  89907.8974,  90676.846,
            91451.4152,  92224.5518,  92995.8686,  93763.5066,  94551.2796,
            95315.1944,  96096.1806,  96881.0918,  97665.679,   98442.68,
            99229.3002,  100011.0994, 100790.6386, 101580.1564, 102377.7484,
            103152.1392, 103944.2712, 104730.216,  105528.6336, 106324.9398,
            107117.6706, 107890.3988, 108695.2266, 109485.238,  110294.7876,
            111075.0958, 111878.0496, 112695.2864, 113464.5486, 114270.0474,
            115068.608,  115884.3626, 116673.2588, 117483.3716, 118275.097,
            119085.4092, 119879.2808, 120687.5868, 121499.9944, 122284.916,
            123095.9254, 123912.5038, 124709.0454, 125503.7182, 126323.259,
            127138.9412, 127943.8294, 128755.646,  129556.5354, 130375.3298,
            131161.4734, 131971.1962, 132787.5458, 133588.1056, 134431.351,
            135220.2906, 136023.398,  136846.6558, 137667.0004, 138463.663,
            139283.7154, 140074.6146, 140901.3072, 141721.8548, 142543.2322,
            143356.1096, 144173.7412, 144973.0948, 145794.3162, 146609.5714,
            147420.003,  148237.9784, 149050.5696, 149854.761,  150663.1966,
            151494.0754, 152313.1416, 153112.6902, 153935.7206, 154746.9262,
            155559.547,  156401.9746, 157228.7036, 158008.7254, 158820.75,
            159646.9184, 160470.4458, 161279.5348, 162093.3114, 162918.542,
            163729.2842,
        },
        // precision 16
        {
            47271,       48062.3584,  48862.7074,  49673.152,   50492.8416,
            51322.9514,  52161.03,    53009.407,   53867.6348,  54734.206,
            55610.5144,  56496.2096,  57390.795,   58297.268,   59210.6448,
            60134.665,   61068.0248,  62010.4472,  62962.5204,  63923.5742,
            64895.0194,  65876.4182,  66862.6136,  67862.6968,  68868.8908,
            69882.8544,  70911.271,   71944.0924,  72990.0326,  74040.692,
            75100.6336,  76174.7826,  77252.5998,  78340.2974,  79438.2572,
            80545.4976,  81657.2796,  82784.6336,  83915.515,   85059.7362,
            86205.9368,  87364.4424,  88530.3358,  89707.3744,  90885.9638,
            92080.197,   93275.5738,  94479.391,   95695.918,   96919.2236,
            98148.4602,  99382.3474,  100625.6974, 101878.0284, 103141.6278,
            104409.4588, 105686.2882, 106967.5402, 108261.6032, 109548.1578,
            110852.0728, 112162.231,  113479.0072, 114806.2626, 116137.9072,
            117469.5048, 118813.5186, 120165.4876, 121516.2556, 122875.766,
            124250.5444, 125621.2222, 127003.2352, 128387.848,  129775.2644,
            131181.7776, 132577.3086, 133979.9458, 135394.1132, 136800.9078,
            138233.217,  139668.5308, 141085.212,  142535.2122, 143969.0684,
            145420.2872, 146878.1542, 148332.7572, 149800.3202, 151269.66,
            152743.6104, 154213.0948, 155690.288,  157169.4246, 158672.1756,
            160160.059,  161650.6854, 163145.7772, 164645.6726, 166159.1952,
            167682.1578, 169177.3328, 170700.0118, 172228.8964, 173732.6664,
            175265.5556, 176787.799,  178317.111,  179856.6914, 181400.865,
            182943.4612, 184486.742,  186033.4698, 187583.7886, 189148.1868,
            190688.4526, 192250.1926, 193810.9042, 195354.2972, 196938.7682,
            198493.5898, 200079.2824, 201618.912,  203205.5492, 204765.5798,
            206356.1124, 207929.3064, 209498.7196, 211086.229,  212675.1324,
            214256.7892, 215826.2392, 217412.8474, 218995.6724, 220618.6038,
            222207.1166, 223781.0364, 225387.4332, 227005.7928, 228590.4336,
            230217.8738, 231805.1054, 233408.9,    234995.3432, 236601.4956,
            238190.7904, 239817.2548, 241411.2832, 243002.4066, 244640.1884,
            246255.3128, 247849.3508, 249479.9734, 251106.8822, 252705.027,
            254332.9242, 255935.129,  257526.9014, 259154.772,  260777.625,
            262390.253,  264004.4906, 265643.59,   267255.4076, 268873.426,
            270470.7252, 272106.4804, 273722.4456, 275337.794,  276945.7038,
            278592.9154, 280204.3726, 281841.1606, 283489.171,  285130.1716,
            286735.3362, 288364.7164, 289961.1814, 291595.5524, 293285.683,
            294899.6668, 296499.3434, 298128.0462, 299761.8946, 301394.2424,
            302997.6748, 304615.1478, 306269.7724, 307886.114,  309543.1028,
            311153.2862, 312782.8546, 314421.2008, 316033.2438, 317692.9636,
            319305.2648, 320948.7406, 322566.3364, 324228.4224, 325847.1542,
        },
        // precision 17
        {
            94542,       96125.811,   97728.019,   99348.558,   100987.9705,
            102646.7565, 104324.5125, 106021.7435, 107736.7865, 109469.272,
            111223.9465, 112995.219,  114787.432,  116593.152,  118422.71,
            120267.2345, 122134.6765, 124020.937,  125927.2705, 127851.255,
            129788.9485, 131751.016,  133726.8225, 135722.592,  137736.789,
            139770.568,  141821.518,  143891.343,  145982.1415, 148095.387,
            150207.526,  152355.649,  154515.6415, 156696.05,   158887.7575,
            161098.159,  163329.852,  165569.053,  167837.4005, 170121.6165,
            172420.4595, 174732.6265, 177062.77,   179412.502,  181774.035,
            184151.939,  186551.6895, 188965.691,  191402.8095, 193857.949,
            196305.0775, 198774.6715, 201271.2585, 203764.78,   206299.3695,
            208818.1365, 211373.115,  213946.7465, 216532.076,  219105.541,
            221714.5375, 224337.5135, 226977.5125, 229613.0655, 232270.2685,
            234952.2065, 237645.3555, 240331.1925, 243034.517,  245756.0725,
            248517.6865, 251232.737,  254011.3955, 256785.995,  259556.44,
            262368.335,  265156.911,  267965.266,  270785.583,  273616.0495,
            276487.4835, 279346.639,  282202.509,  285074.3885, 287942.2855,
            290856.018,  293774.0345, 296678.5145, 299603.6355, 302552.6575,
            305492.9785, 308466.8605, 311392.581,  314347.538,  317319.4295,
            320285.9785, 323301.7325, 326298.3235, 329301.3105, 332301.987,
            335309.791,  338370.762,  341382.923,  344431.1265, 347464.1545,
            350507.28,   353619.2345, 356631.2005, 359685.203,  362776.7845,
            365886.488,  368958.2255, 372060.6825, 375165.4335, 378237.935,
            381328.311,  384430.5225, 387576.425,  390683.242,  393839.648,
            396977.8425, 400101.9805, 403271.296,  406409.8425, 409529.5485,
            412678.7,    415847.423,  419020.8035, 422157.081,  425337.749,
            428479.6165, 431700.902,  434893.1915, 438049.582,  441210.5415,
            444379.2545, 447577.356,  450741.931,  453959.548,  457137.0935,
            460329.846,  463537.4815, 466732.3345, 469960.5615, 473164.681,
            476347.6345, 479496.173,  482813.1645, 486025.6995, 489249.4885,
            492460.1945, 495675.8805, 498908.0075, 502131.802,  505374.3855,
            508550.9915, 511806.7305, 515026.776,  518217.0005, 521523.9855,
            524705.9855, 527950.997,  531210.0265, 534472.497,  537750.7315,
            540926.922,  544207.094,  547429.4345, 550666.3745, 553975.3475,
            557150.7185, 560399.6165, 563662.697,  566916.7395, 570146.1215,
            573447.425,  576689.6245, 579874.5745, 583202.337,  586503.0255,
            589715.635,  592910.161,  596214.3885, 599488.035,  602740.92,
            605983.0685, 609248.67,   612491.3605, 615787.912,  619107.5245,
            622307.9555, 625577.333,  628840.4385, 632085.2155, 635317.6135,
            638691.7195, 641887.467,  645139.9405, 648441.546,  651666.252,
            654941.845,
        },
        // precision 18
        {
            189084,      192250.913,  195456.774,  198696.946,  201977.762,
            205294.444,  208651.754,  212042.099,  215472.269,  218941.91,
            222443.912,  225996.845,  229568.199,  233193.568,  236844.457,
            240543.233,  244279.475,  248044.27,   251854.588,  255693.2,
            259583.619,  263494.621,  267445.385,  271454.061,  275468.769,
            279549.456,  283646.446,  287788.198,  291966.099,  296181.164,
            300431.469,  304718.618,  309024.004,  313393.508,  317760.803,
            322209.731,  326675.061,  331160.627,  335654.47,   340241.442,
            344841.833,  349467.132,  354130.629,  358819.432,  363574.626,
            368296.587,  373118.482,  377914.93,   382782.301,  387680.669,
            392601.981,  397544.323,  402529.115,  407546.018,  412593.658,
            417638.657,  422762.865,  427886.169,  433017.167,  438213.273,
            443441.254,  448692.421,  453937.533,  459239.049,  464529.569,
            469910.083,  475274.03,   480684.473,  486070.26,   491515.237,
            496995.651,  502476.617,  507973.609,  513497.19,   519083.233,
            524726.509,  530305.505,  535945.728,  541584.404,  547274.055,
            552967.236,  558667.862,  564360.216,  570128.148,  575965.08,
            581701.952,  587532.523,  593361.144,  599246.128,  605033.418,
            610958.779,  616837.117,  622772.818,  628672.04,   634675.369,
            640574.831,  646585.739,  652574.547,  658611.217,  664642.684,
            670713.914,  676737.681,  682797.313,  688837.897,  694917.874,
            701009.882,  707173.648,  713257.254,  719415.392,  725636.761,
            731710.697,  737906.209,  744103.074,  750313.39,   756504.185,
            762712.579,  768876.985,  775167.859,  781359,      787615.959,
            793863.597,  800245.477,  806464.582,  812785.294,  819005.925,
            825403.057,  831676.197,  837936.284,  844266.968,  850642.711,
            856959.756,  863322.774,  869699.931,  876102.478,  882355.787,
            888694.463,  895159.952,  901536.143,  907872.631,  914293.672,
            920615.14,   927130.974,  933409.404,  939922.178,  946331.47,
            952745.93,   959209.264,  965590.224,  972077.284,  978501.961,
            984953.19,   991413.271,  997817.479,  1004222.658, 1010725.676,
            1017177.138, 1023612.529, 1030098.236, 1036493.719, 1043112.207,
            1049537.036, 1056008.096, 1062476.184, 1068942.337, 1075524.95,
            1081932.864, 1088426.025, 1094776.005, 1101327.448, 1107901.673,
            1114423.639, 1120884.602, 1127324.923, 1133794.24,  1140328.886,
            1146849.376, 1153346.682, 1159836.502, 1166478.703, 1172953.304,
            1179391.502, 1185950.982, 1192544.052, 1198913.41,  1205430.994,
            1212015.525, 1218674.042, 1225121.683, 1231551.101, 1238126.379,
            1244673.795, 1251260.649, 1257697.86,  1264320.983, 1270736.319,
            1277274.694, 1283804.95,  1290211.514, 1296858.568, 1303455.691,
        }};

// Bias data arrays (same structure as raw estimate data)
const double ObHiveHLLConstants::BIAS_DATA
    [RAW_ESTIMATE_DATA_PRECISION_COUNT][RAW_ESTIMATE_DATA_MAX_SIZE] = {
        // precision 4
        {
            10,
            9.717,
            9.207,
            8.7896,
            8.2882,
            7.8204,
            7.3772,
            6.9342,
            6.5202,
            6.161,
            5.7722,
            5.4636,
            5.0396,
            4.6766,
            4.3566,
            4.0454,
            3.7936,
            3.4856,
            3.2666,
            2.9946,
            2.766,
            2.4692,
            2.3638,
            2.0764,
            1.7864,
            1.7602,
            1.4814,
            1.433,
            1.2926,
            1.0664,
            0.999600000000001,
            0.7956,
            0.5366,
            0.589399999999998,
            0.573799999999999,
            0.269799999999996,
            0.368200000000002,
            0.0544000000000011,
            0.234200000000001,
            0.0108000000000033,
            -0.203400000000002,
            -0.0701999999999998,
            -0.129600000000003,
            -0.364199999999997,
            -0.480600000000003,
            -0.226999999999997,
            -0.322800000000001,
            -0.382599999999996,
            -0.511200000000002,
            -0.669600000000003,
            -0.749400000000001,
            -0.500399999999999,
            -0.617600000000003,
            -0.6922,
            -0.601599999999998,
            -0.416200000000003,
            -0.338200000000001,
            -0.782600000000002,
            -0.648600000000002,
            -0.919800000000002,
            -0.851799999999997,
            -0.962400000000002,
            -0.6402,
            -1.1922,
            -1.0256,
            -1.086,
            -1.21899999999999,
            -0.819400000000002,
            -0.940600000000003,
            -1.1554,
            -1.2072,
            -1.1752,
            -1.16759999999999,
            -1.14019999999999,
            -1.3754,
            -1.29859999999999,
            -1.607,
            -1.3292,
            -1.7606,
        },
        // precision 5
        {
            22,
            21.1194,
            20.8208,
            20.2318,
            19.77,
            19.2436,
            18.7774,
            18.2848,
            17.8224,
            17.3742,
            16.9336,
            16.503,
            16.0494,
            15.6292,
            15.2124,
            14.798,
            14.367,
            13.9728,
            13.5944,
            13.217,
            12.8438,
            12.3696,
            12.0956,
            11.7044,
            11.324,
            11.0668,
            10.6698,
            10.3644,
            10.049,
            9.6918,
            9.4146,
            9.082,
            8.687,
            8.5398,
            8.2462,
            7.857,
            7.6606,
            7.4168,
            7.1248,
            6.9222,
            6.6804,
            6.447,
            6.3454,
            5.9594,
            5.7636,
            5.5776,
            5.331,
            5.19,
            4.9676,
            4.7564,
            4.5314,
            4.4442,
            4.3708,
            3.9774,
            3.9624,
            3.8796,
            3.755,
            3.472,
            3.2076,
            3.1024,
            2.8908,
            2.7338,
            2.7728,
            2.629,
            2.413,
            2.3266,
            2.1524,
            2.2642,
            2.1806,
            2.0566,
            1.9192,
            1.7598,
            1.3516,
            1.5802,
            1.43859999999999,
            1.49160000000001,
            1.1524,
            1.1892,
            0.841399999999993,
            0.879800000000003,
            0.837599999999995,
            0.469800000000006,
            0.765600000000006,
            0.331000000000003,
            0.591399999999993,
            0.601200000000006,
            0.701599999999999,
            0.558199999999999,
            0.339399999999998,
            0.354399999999998,
            0.491200000000006,
            0.308000000000007,
            0.355199999999996,
            -0.0254000000000048,
            0.205200000000005,
            -0.272999999999996,
            0.132199999999997,
            0.394400000000005,
            -0.241200000000006,
            0.242000000000004,
            0.191400000000002,
            0.253799999999998,
            -0.122399999999999,
            -0.370800000000003,
            0.193200000000004,
            -0.0848000000000013,
            0.0867999999999967,
            -0.327200000000005,
            -0.285600000000002,
            0.311400000000006,
            -0.128399999999999,
            -0.754999999999995,
            -0.209199999999996,
            -0.293599999999998,
            -0.364000000000004,
            -0.253600000000006,
            -0.821200000000005,
            -0.253600000000006,
            -0.510400000000004,
            -0.383399999999995,
            -0.491799999999998,
            -0.220200000000006,
            -0.0972000000000008,
            -0.557400000000001,
            -0.114599999999996,
            -0.295000000000002,
            -0.534800000000004,
            0.346399999999988,
            -0.65379999999999,
            0.0398000000000138,
            0.0341999999999985,
            -0.995800000000003,
            -0.523400000000009,
            -0.489000000000004,
            -0.274799999999999,
            -0.574999999999989,
            -0.482799999999997,
            0.0571999999999946,
            -0.330600000000004,
            -0.628800000000012,
            -0.140199999999993,
            -0.540600000000012,
            -0.445999999999998,
            -0.599400000000003,
            -0.262599999999992,
            0.163399999999996,
            -0.100599999999986,
            -0.39500000000001,
            -1.06960000000001,
            -0.836399999999998,
            -0.753199999999993,
            -0.412399999999991,
            -0.790400000000005,
            -0.29679999999999,
            -0.28540000000001,
            -0.193000000000012,
            -0.0772000000000048,
            -0.962799999999987,
            -0.414800000000014,
        },
        // precision 6
        {
            45,
            44.1902,
            43.271,
            42.8358,
            41.8142,
            41.2854,
            40.317,
            39.354,
            38.8924,
            37.9436,
            37.4596,
            36.5262,
            35.6248,
            35.1574,
            34.2822,
            33.837,
            32.9636,
            32.074,
            31.7042,
            30.7976,
            30.4772,
            29.6564,
            28.7942,
            28.5004,
            27.686,
            27.291,
            26.5672,
            25.8556,
            25.4982,
            24.8204,
            24.4252,
            23.7744,
            23.0786,
            22.8344,
            22.0294,
            21.8098,
            21.0794,
            20.5732,
            20.1878,
            19.5648,
            19.2902,
            18.6784,
            18.3352,
            17.8946,
            17.3712,
            17.0852,
            16.499,
            16.2686,
            15.6844,
            15.2234,
            14.9732,
            14.3356,
            14.2286,
            13.7262,
            13.3284,
            13.1048,
            12.5962,
            12.3562,
            12.1272,
            11.4184,
            11.4974,
            11.0822,
            10.856,
            10.48,
            10.2834,
            10.0208,
            9.637,
            9.51739999999999,
            9.05759999999999,
            8.74760000000001,
            8.42700000000001,
            8.1326,
            8.2372,
            8.2788,
            7.6776,
            7.79259999999999,
            7.1952,
            6.9564,
            6.6454,
            6.87,
            6.5428,
            6.19999999999999,
            6.02940000000001,
            5.62780000000001,
            5.6782,
            5.792,
            5.35159999999999,
            5.28319999999999,
            5.0394,
            5.07480000000001,
            4.49119999999999,
            4.84899999999999,
            4.696,
            4.54040000000001,
            4.07300000000001,
            4.37139999999999,
            3.7216,
            3.7328,
            3.42080000000001,
            3.41839999999999,
            3.94239999999999,
            3.27719999999999,
            3.411,
            3.13079999999999,
            2.76900000000001,
            2.92580000000001,
            2.68279999999999,
            2.75020000000001,
            2.70599999999999,
            2.3886,
            3.01859999999999,
            2.45179999999999,
            2.92699999999999,
            2.41720000000001,
            2.41139999999999,
            2.03299999999999,
            2.51240000000001,
            2.5564,
            2.60079999999999,
            2.41720000000001,
            1.80439999999999,
            1.99700000000001,
            2.45480000000001,
            1.8948,
            2.2346,
            2.30860000000001,
            2.15479999999999,
            1.88419999999999,
            1.6508,
            0.677199999999999,
            1.72540000000001,
            1.4752,
            1.72280000000001,
            1.66139999999999,
            1.16759999999999,
            1.79300000000001,
            1.00059999999999,
            0.905200000000008,
            0.659999999999997,
            1.55879999999999,
            1.1636,
            0.688199999999995,
            0.712600000000009,
            0.450199999999995,
            1.1978,
            0.975599999999986,
            0.165400000000005,
            1.727,
            1.19739999999999,
            -0.252600000000001,
            1.13460000000001,
            1.3048,
            1.19479999999999,
            0.313400000000001,
            0.878999999999991,
            1.12039999999999,
            0.853000000000009,
            1.67920000000001,
            0.856999999999999,
            0.448599999999999,
            1.2362,
            0.953399999999988,
            1.02859999999998,
            0.563199999999995,
            0.663000000000011,
            0.723000000000013,
            0.756599999999992,
            0.256599999999992,
            -0.837600000000009,
            0.620000000000005,
            0.821599999999989,
            0.216600000000028,
            0.205600000000004,
            0.220199999999977,
            0.372599999999977,
            0.334400000000016,
            0.928400000000011,
            0.972800000000007,
            0.192400000000021,
            0.487199999999973,
            -0.413000000000011,
            0.807000000000016,
            0.120600000000024,
            0.769000000000005,
            0.870799999999974,
            0.66500000000002,
            0.118200000000002,
            0.401200000000017,
            0.635199999999998,
            0.135400000000004,
            0.175599999999974,
            1.16059999999999,
            0.34620000000001,
            0.521400000000028,
            -0.586599999999976,
            -1.16480000000001,
            0.968399999999974,
            0.836999999999989,
            0.779600000000016,
            0.985799999999983,
        },
        // precision 7
        {
            91,
            89.4934,
            87.9758,
            86.4574,
            84.9718,
            83.4954,
            81.5302,
            80.0756,
            78.6374,
            77.1782,
            75.7888,
            73.9522,
            72.592,
            71.2532,
            69.9086,
            68.5938,
            66.9474,
            65.6796,
            64.4394,
            63.2176,
            61.9768,
            60.4214,
            59.2528,
            58.0102,
            56.8658,
            55.7278,
            54.3044,
            53.1316,
            52.093,
            51.0032,
            49.9092,
            48.6306,
            47.5294,
            46.5756,
            45.6508,
            44.662,
            43.552,
            42.3724,
            41.617,
            40.5754,
            39.7872,
            38.8444,
            37.7988,
            36.8606,
            36.2118,
            35.3566,
            34.4476,
            33.5882,
            32.6816,
            32.0824,
            31.0258,
            30.6048,
            29.4436,
            28.7274,
            27.957,
            27.147,
            26.4364,
            25.7592,
            25.3386,
            24.781,
            23.8028,
            23.656,
            22.6544,
            21.996,
            21.4718,
            21.1544,
            20.6098,
            19.5956,
            19.0616,
            18.5758,
            18.4878,
            17.5244,
            17.2146,
            16.724,
            15.8722,
            15.5198,
            15.0414,
            14.941,
            14.9048,
            13.87,
            13.4304,
            13.028,
            12.4708,
            12.37,
            12.0624,
            11.4668,
            11.5532,
            11.4352,
            11.2564,
            10.2744,
            10.2118,
            9.74720000000002,
            10.1456,
            9.2928,
            8.75040000000001,
            8.55279999999999,
            8.97899999999998,
            8.21019999999999,
            8.18340000000001,
            7.3494,
            7.32499999999999,
            7.66140000000001,
            6.90300000000002,
            7.25439999999998,
            6.9042,
            7.21499999999997,
            6.28640000000001,
            6.08139999999997,
            6.6764,
            6.30099999999999,
            5.13900000000001,
            5.65800000000002,
            5.17320000000001,
            4.59019999999998,
            4.9538,
            5.08280000000002,
            4.92200000000003,
            4.99020000000002,
            4.7328,
            5.4538,
            4.11360000000002,
            4.22340000000003,
            4.08780000000002,
            3.70800000000003,
            4.15559999999999,
            4.18520000000001,
            3.63720000000001,
            3.68220000000002,
            3.77960000000002,
            3.6078,
            2.49160000000001,
            3.13099999999997,
            2.5376,
            3.19880000000001,
            3.21100000000001,
            2.4502,
            3.52820000000003,
            2.91199999999998,
            3.04480000000001,
            2.7432,
            2.85239999999999,
            2.79880000000003,
            2.78579999999999,
            1.88679999999999,
            2.98860000000002,
            2.50639999999999,
            1.91239999999999,
            2.66160000000002,
            2.46820000000002,
            1.58199999999999,
            1.30399999999997,
            2.27379999999999,
            2.68939999999998,
            1.32900000000001,
            3.10599999999999,
            1.69080000000002,
            2.13740000000001,
            2.53219999999999,
            1.88479999999998,
            1.33240000000001,
            1.45119999999997,
            1.17899999999997,
            2.44119999999998,
            1.60659999999996,
            2.16700000000003,
            0.77940000000001,
            2.37900000000002,
            2.06700000000001,
            1.46000000000004,
            2.91160000000002,
            1.69200000000001,
            0.954600000000028,
            2.49300000000005,
            2.2722,
            1.33500000000004,
            2.44899999999996,
            1.20140000000004,
            3.07380000000001,
            2.09739999999999,
            2.85640000000001,
            2.29960000000005,
            2.40899999999999,
            1.97040000000004,
            0.809799999999996,
            1.65279999999996,
            2.59979999999996,
            0.95799999999997,
            2.06799999999998,
            2.32780000000002,
            4.20159999999998,
            1.96320000000003,
            1.86400000000003,
            1.42999999999995,
            3.77940000000001,
            1.27200000000005,
            1.86440000000005,
            2.20600000000002,
            3.21900000000005,
            1.5154,
            2.61019999999996,
        },
        // precision 8
        {
            183.2152,
            180.2454,
            177.2096,
            173.6652,
            170.6312,
            167.6822,
            164.249,
            161.3296,
            158.0038,
            155.2074,
            152.4612,
            149.27,
            146.5178,
            143.4412,
            140.8032,
            138.1634,
            135.1688,
            132.6074,
            129.6946,
            127.2664,
            124.8228,
            122.0432,
            119.6824,
            116.9464,
            114.6268,
            112.2626,
            109.8376,
            107.4034,
            104.8956,
            102.8522,
            100.7638,
            98.3552,
            96.3556,
            93.7526,
            91.9292,
            89.8954,
            87.8198,
            85.7668,
            83.298,
            81.6688,
            79.9466,
            77.9746,
            76.1672,
            74.3474,
            72.3028,
            70.8912,
            69.114,
            67.4646,
            65.9744,
            64.4092,
            62.6022,
            60.843,
            59.5684,
            58.1652,
            56.5426,
            55.4152,
            53.5388,
            52.3592,
            51.1366,
            49.486,
            48.3918,
            46.5076,
            45.509,
            44.3834,
            43.3498,
            42.0668,
            40.7346,
            40.1228,
            38.4528,
            37.7,
            36.644,
            36.0518,
            34.5774,
            33.9068,
            32.432,
            32.1666,
            30.434,
            29.6644,
            28.4894,
            27.6312,
            26.3804,
            26.292,
            25.5496000000001,
            25.0234,
            24.8206,
            22.6146,
            22.4188,
            22.117,
            20.6762,
            20.6576,
            19.7864,
            19.509,
            18.5334,
            17.9204,
            17.772,
            16.2924,
            16.8654,
            15.1836,
            15.745,
            15.1316,
            15.0386,
            14.0136,
            13.6342,
            12.6196,
            12.1866,
            12.4281999999999,
            11.3324,
            10.4794000000001,
            11.5038,
            10.129,
            9.52800000000002,
            10.3203999999999,
            9.46299999999997,
            9.79280000000006,
            9.12300000000005,
            8.74180000000001,
            9.2192,
            7.51020000000005,
            7.60659999999996,
            7.01840000000004,
            7.22239999999999,
            7.40139999999997,
            6.76179999999999,
            7.14359999999999,
            5.65060000000005,
            5.63779999999997,
            5.76599999999996,
            6.75139999999999,
            5.57759999999996,
            3.73220000000003,
            5.8048,
            5.63019999999995,
            4.93359999999996,
            3.47979999999995,
            4.33879999999999,
            3.98940000000005,
            3.81960000000004,
            3.31359999999995,
            3.23080000000004,
            3.4588,
            3.08159999999998,
            3.4076,
            3.00639999999999,
            2.38779999999997,
            2.61900000000003,
            1.99800000000005,
            3.34820000000002,
            2.95060000000001,
            0.990999999999985,
            2.11440000000005,
            2.20299999999997,
            2.82219999999995,
            2.73239999999998,
            2.7826,
            3.76660000000004,
            2.26480000000004,
            2.31280000000004,
            2.40819999999997,
            2.75360000000001,
            3.33759999999995,
            2.71559999999999,
            1.7478000000001,
            1.42920000000004,
            2.39300000000003,
            2.22779999999989,
            2.34339999999997,
            0.87259999999992,
            3.88400000000001,
            1.80600000000004,
            1.91759999999999,
            1.16779999999994,
            1.50320000000011,
            2.52500000000009,
            0.226400000000012,
            2.31500000000005,
            0.930000000000064,
            1.25199999999995,
            2.14959999999996,
            0.0407999999999902,
            2.5447999999999,
            1.32960000000003,
            0.197400000000016,
            2.52620000000002,
            3.33279999999991,
            -1.34300000000007,
            0.422199999999975,
            0.917200000000093,
            1.12920000000008,
            1.46060000000011,
            1.45779999999991,
            2.8728000000001,
            3.33359999999993,
            -1.34079999999994,
            1.57680000000005,
            0.363000000000056,
            1.40740000000005,
            0.656600000000026,
            0.801400000000058,
            -0.454600000000028,
            1.51919999999996,
        },
        // precision 9
        {
            368,
            361.8294,
            355.2452,
            348.6698,
            342.1464,
            336.2024,
            329.8782,
            323.6598,
            317.462,
            311.2826,
            305.7102,
            299.7416,
            293.9366,
            288.1046,
            282.285,
            277.0668,
            271.306,
            265.8448,
            260.301,
            254.9886,
            250.2422,
            244.8138,
            239.7074,
            234.7428,
            229.8402,
            225.1664,
            220.3534,
            215.594,
            210.6886,
            205.7876,
            201.65,
            197.228,
            192.8036,
            188.1666,
            184.0818,
            180.0824,
            176.2574,
            172.302,
            168.1644,
            164.0056,
            160.3802,
            156.7192,
            152.5234,
            149.2084,
            145.831,
            142.485,
            139.1112,
            135.4764,
            131.76,
            129.3368,
            126.5538,
            122.5058,
            119.2646,
            116.5902,
            113.3818,
            110.8998,
            107.9532,
            105.2062,
            102.2798,
            99.4728,
            96.9582,
            94.3292,
            92.171,
            89.7809999999999,
            87.5716,
            84.7048,
            82.5322,
            79.875,
            78.3972,
            75.3464,
            73.7274,
            71.2834,
            70.1444,
            68.4263999999999,
            66.0166,
            64.018,
            62.0437999999999,
            60.3399999999999,
            58.6856,
            57.9836,
            55.0311999999999,
            54.6769999999999,
            52.3188,
            51.4846,
            49.4423999999999,
            47.739,
            46.1487999999999,
            44.9202,
            43.4059999999999,
            42.5342000000001,
            41.2834,
            38.8954000000001,
            38.3286000000001,
            36.2146,
            36.6684,
            35.9946,
            33.123,
            33.4338,
            31.7378000000001,
            29.076,
            28.9692,
            27.4964,
            27.0998,
            25.9864,
            26.7754,
            24.3208,
            23.4838,
            22.7388000000001,
            24.0758000000001,
            21.9097999999999,
            20.9728,
            19.9228000000001,
            19.9292,
            16.617,
            17.05,
            18.2996000000001,
            15.6128000000001,
            15.7392,
            14.5174,
            13.6322,
            12.2583999999999,
            13.3766000000001,
            11.423,
            13.1232,
            9.51639999999998,
            10.5938000000001,
            9.59719999999993,
            8.12220000000002,
            9.76739999999995,
            7.50440000000003,
            7.56999999999994,
            6.70440000000008,
            6.41419999999994,
            6.71019999999999,
            5.60940000000005,
            4.65219999999999,
            6.84099999999989,
            3.4072000000001,
            3.97859999999991,
            3.32760000000007,
            5.52160000000003,
            3.31860000000006,
            2.06940000000009,
            4.35400000000004,
            1.57500000000005,
            0.280799999999999,
            2.12879999999996,
            -0.214799999999968,
            -0.0378000000000611,
            -0.658200000000079,
            0.654800000000023,
            -0.0697999999999865,
            0.858400000000074,
            -2.52700000000004,
            -2.1751999999999,
            -3.35539999999992,
            -1.04019999999991,
            -0.651000000000067,
            -2.14439999999991,
            -1.96659999999997,
            -3.97939999999994,
            -0.604400000000169,
            -3.08260000000018,
            -3.39159999999993,
            -5.29640000000018,
            -5.38920000000007,
            -5.08759999999984,
            -4.69900000000007,
            -5.23720000000003,
            -3.15779999999995,
            -4.97879999999986,
            -4.89899999999989,
            -7.48880000000008,
            -5.94799999999987,
            -5.68060000000014,
            -6.67180000000008,
            -4.70499999999993,
            -7.27779999999984,
            -4.6579999999999,
            -4.4362000000001,
            -4.32139999999981,
            -5.18859999999995,
            -6.66879999999992,
            -6.48399999999992,
            -5.1260000000002,
            -4.4032000000002,
            -6.13500000000022,
            -5.80819999999994,
            -4.16719999999987,
            -4.15039999999999,
            -7.45600000000013,
            -7.24080000000004,
            -9.83179999999993,
            -5.80420000000004,
            -8.6561999999999,
            -6.99940000000015,
            -10.5473999999999,
            -7.34139999999979,
            -6.80999999999995,
            -6.29719999999998,
            -6.23199999999997,
        },
        // precision 10
        {
            737.1256,
            724.4234,
            711.1064,
            698.4732,
            685.4636,
            673.0644,
            660.488,
            647.9654,
            636.0832,
            623.7864,
            612.1992,
            600.2176,
            588.5228,
            577.1716,
            565.7752,
            554.899,
            543.6126,
            532.6492,
            521.9474,
            511.5214,
            501.1064,
            490.6364,
            480.2468,
            470.4588,
            460.3832,
            451.0584,
            440.8606,
            431.3868,
            422.5062,
            413.1862,
            404.463,
            395.339,
            386.1936,
            378.1292,
            369.1854,
            361.2908,
            353.3324,
            344.8518,
            337.5204,
            329.4854,
            321.9318,
            314.552,
            306.4658,
            299.4256,
            292.849,
            286.152,
            278.8956,
            271.8792,
            265.118,
            258.62,
            252.5132,
            245.9322,
            239.7726,
            233.6086,
            227.5332,
            222.5918,
            216.4294,
            210.7662,
            205.4106,
            199.7338,
            194.9012,
            188.4486,
            183.1556,
            178.6338,
            173.7312,
            169.6264,
            163.9526,
            159.8742,
            155.8326,
            151.1966,
            147.5594,
            143.07,
            140.037,
            134.1804,
            131.071,
            127.4884,
            124.0848,
            120.2944,
            117.333,
            112.9626,
            110.2902,
            107.0814,
            103.0334,
            99.4832000000001,
            96.3899999999999,
            93.7202000000002,
            90.1714000000002,
            87.2357999999999,
            85.9346,
            82.8910000000001,
            80.0264000000002,
            78.3834000000002,
            75.1543999999999,
            73.8683999999998,
            70.9895999999999,
            69.4367999999999,
            64.8701999999998,
            65.0408000000002,
            61.6738,
            59.5207999999998,
            57.0158000000001,
            54.2302,
            53.0962,
            50.4985999999999,
            52.2588000000001,
            47.3914,
            45.6244000000002,
            42.8377999999998,
            43.0072,
            40.6516000000001,
            40.2453999999998,
            35.2136,
            36.4546,
            33.7849999999999,
            33.2294000000002,
            32.4679999999998,
            30.8670000000002,
            28.6507999999999,
            28.9099999999999,
            27.5983999999999,
            26.1619999999998,
            24.5563999999999,
            23.2328000000002,
            21.9484000000002,
            21.5902000000001,
            21.3346000000001,
            17.7031999999999,
            20.6111999999998,
            19.5545999999999,
            15.7375999999999,
            17.0720000000001,
            16.9517999999998,
            15.326,
            13.1817999999998,
            14.6925999999999,
            13.0859999999998,
            13.2754,
            10.8697999999999,
            11.248,
            7.3768,
            4.72339999999986,
            7.97899999999981,
            8.7503999999999,
            7.68119999999999,
            9.7199999999998,
            7.73919999999998,
            5.6224000000002,
            7.44560000000001,
            6.6601999999998,
            5.9058,
            4.00199999999995,
            4.51699999999983,
            4.68240000000014,
            3.86220000000003,
            5.13639999999987,
            5.98500000000013,
            2.47719999999981,
            2.61999999999989,
            1.62800000000016,
            4.65000000000009,
            0.225599999999758,
            0.831000000000131,
            -0.359400000000278,
            1.27599999999984,
            -2.92559999999958,
            -0.0303999999996449,
            2.37079999999969,
            -2.0033999999996,
            0.804600000000391,
            0.30199999999968,
            1.1247999999996,
            -2.6880000000001,
            0.0321999999996478,
            -1.18099999999959,
            -3.9402,
            -1.47940000000017,
            -0.188400000000001,
            -2.10720000000038,
            -2.04159999999956,
            -3.12880000000041,
            -4.16160000000036,
            -0.612799999999879,
            -3.48719999999958,
            -8.17900000000009,
            -5.37780000000021,
            -4.01379999999972,
            -5.58259999999973,
            -5.73719999999958,
            -7.66799999999967,
            -5.69520000000011,
            -1.1247999999996,
            -5.58520000000044,
            -8.04560000000038,
            -4.64840000000004,
            -11.6468000000004,
            -7.97519999999986,
            -5.78300000000036,
            -7.67420000000038,
            -10.6328000000003,
            -9.81720000000041,
        },
        // precision 11
        {
            1476,
            1449.6014,
            1423.5802,
            1397.7942,
            1372.3042,
            1347.2062,
            1321.8402,
            1297.2292,
            1272.9462,
            1248.9926,
            1225.3026,
            1201.4252,
            1178.0578,
            1155.6092,
            1132.626,
            1110.5568,
            1088.527,
            1066.5154,
            1045.1874,
            1024.3878,
            1003.37,
            982.1972,
            962.5728,
            942.1012,
            922.9668,
            903.292,
            884.0772,
            864.8578,
            846.6562,
            828.041,
            809.714,
            792.3112,
            775.1806,
            757.9854,
            740.656,
            724.346,
            707.5154,
            691.8378,
            675.7448,
            659.6722,
            645.5722,
            630.1462,
            614.4124,
            600.8728,
            585.898,
            572.408,
            558.4926,
            544.4938,
            531.6776,
            517.282,
            505.7704,
            493.1012,
            480.7388,
            467.6876,
            456.1872,
            445.5048,
            433.0214,
            420.806,
            411.409,
            400.4144,
            389.4294,
            379.2286,
            369.651,
            360.6156,
            350.337,
            342.083,
            332.1538,
            322.5094,
            315.01,
            305.6686,
            298.1678,
            287.8116,
            280.9978,
            271.9204,
            265.3286,
            257.5706,
            249.6014,
            242.544,
            235.5976,
            229.583,
            220.9438,
            214.672,
            208.2786,
            201.8628,
            195.1834,
            191.505,
            186.1816,
            178.5188,
            172.2294,
            167.8908,
            161.0194,
            158.052,
            151.4588,
            148.1596,
            143.4344,
            138.5238,
            133.13,
            127.6374,
            124.8162,
            118.7894,
            117.3984,
            114.6078,
            109.0858,
            105.1036,
            103.6258,
            98.6018000000004,
            95.7618000000002,
            93.5821999999998,
            88.5900000000001,
            86.9992000000002,
            82.8800000000001,
            80.4539999999997,
            74.6981999999998,
            74.3644000000004,
            73.2914000000001,
            65.5709999999999,
            66.9232000000002,
            65.1913999999997,
            62.5882000000001,
            61.5702000000001,
            55.7035999999998,
            56.1764000000003,
            52.7596000000003,
            53.0302000000001,
            49.0609999999997,
            48.4694,
            44.933,
            46.0474000000004,
            44.7165999999997,
            41.9416000000001,
            39.9207999999999,
            35.6328000000003,
            35.5276000000003,
            33.1934000000001,
            33.2371999999996,
            33.3864000000003,
            33.9228000000003,
            30.2371999999996,
            29.1373999999996,
            25.2272000000003,
            24.2942000000003,
            19.8338000000003,
            18.9005999999999,
            23.0907999999999,
            21.8544000000002,
            19.5176000000001,
            15.4147999999996,
            16.9314000000004,
            18.6737999999996,
            12.9877999999999,
            14.3688000000002,
            12.0447999999997,
            15.5219999999999,
            12.5299999999997,
            14.5940000000001,
            14.3131999999996,
            9.45499999999993,
            12.9441999999999,
            3.91139999999996,
            13.1373999999996,
            5.44720000000052,
            9.82779999999912,
            7.87279999999919,
            3.67760000000089,
            5.46980000000076,
            5.55099999999948,
            5.65979999999945,
            3.89439999999922,
            3.1275999999998,
            5.65140000000065,
            6.3062000000009,
            3.90799999999945,
            1.87060000000019,
            5.17020000000048,
            2.46680000000015,
            0.770000000000437,
            -3.72340000000077,
            1.16400000000067,
            8.05340000000069,
            0.135399999999208,
            2.15940000000046,
            0.766999999999825,
            1.0594000000001,
            3.15500000000065,
            -0.287399999999252,
            2.37219999999979,
            -2.86620000000039,
            -1.63199999999961,
            -2.22979999999916,
            -0.15519999999924,
            -1.46039999999994,
            -0.262199999999211,
            -2.34460000000036,
            -2.8078000000005,
            -3.22179999999935,
            -5.60159999999996,
            -8.42200000000048,
            -9.43740000000071,
            0.161799999999857,
            -10.4755999999998,
            -10.0823999999993,
        },
        // precision 12
        {
            2953,
            2900.4782,
            2848.3568,
            2796.3666,
            2745.324,
            2694.9598,
            2644.648,
            2595.539,
            2546.1474,
            2498.2576,
            2450.8376,
            2403.6076,
            2357.451,
            2311.38,
            2266.4104,
            2221.5638,
            2176.9676,
            2134.193,
            2090.838,
            2048.8548,
            2007.018,
            1966.1742,
            1925.4482,
            1885.1294,
            1846.4776,
            1807.4044,
            1768.8724,
            1731.3732,
            1693.4304,
            1657.5326,
            1621.949,
            1586.5532,
            1551.7256,
            1517.6182,
            1483.5186,
            1450.4528,
            1417.865,
            1385.7164,
            1352.6828,
            1322.6708,
            1291.8312,
            1260.9036,
            1231.476,
            1201.8652,
            1173.6718,
            1145.757,
            1119.2072,
            1092.2828,
            1065.0434,
            1038.6264,
            1014.3192,
            988.5746,
            965.0816,
            940.1176,
            917.9796,
            894.5576,
            871.1858,
            849.9144,
            827.1142,
            805.0818,
            783.9664,
            763.9096,
            742.0816,
            724.3962,
            706.3454,
            688.018,
            667.4214,
            650.3106,
            633.0686,
            613.8094,
            597.818,
            581.4248,
            563.834,
            547.363,
            531.5066,
            520.455400000001,
            505.583199999999,
            488.366,
            476.480799999999,
            459.7682,
            450.0522,
            434.328799999999,
            423.952799999999,
            408.727000000001,
            399.079400000001,
            387.252200000001,
            373.987999999999,
            360.852000000001,
            351.6394,
            339.642,
            330.902400000001,
            322.661599999999,
            311.662200000001,
            301.3254,
            291.7484,
            279.939200000001,
            276.7508,
            263.215200000001,
            254.811400000001,
            245.5494,
            242.306399999999,
            234.8734,
            223.787200000001,
            217.7156,
            212.0196,
            200.793,
            195.9748,
            189.0702,
            182.449199999999,
            177.2772,
            170.2336,
            164.741,
            158.613600000001,
            155.311,
            147.5964,
            142.837,
            137.3724,
            132.0162,
            130.0424,
            121.9804,
            120.451800000001,
            114.8968,
            111.585999999999,
            105.933199999999,
            101.705,
            98.5141999999996,
            95.0488000000005,
            89.7880000000005,
            91.4750000000004,
            83.7764000000006,
            80.9698000000008,
            72.8574000000008,
            73.1615999999995,
            67.5838000000003,
            62.6263999999992,
            63.2638000000006,
            66.0977999999996,
            52.0843999999997,
            58.9956000000002,
            47.0912000000008,
            46.4956000000002,
            48.4383999999991,
            47.1082000000006,
            43.2392,
            37.2759999999998,
            40.0283999999992,
            35.1864000000005,
            35.8595999999998,
            32.0998,
            28.027,
            23.6694000000007,
            33.8266000000003,
            26.3736000000008,
            27.2008000000005,
            21.3245999999999,
            26.4115999999995,
            23.4521999999997,
            19.5013999999992,
            19.8513999999996,
            10.7492000000002,
            18.6424000000006,
            13.1265999999996,
            18.2436000000016,
            6.71860000000015,
            3.39459999999963,
            6.33759999999893,
            7.76719999999841,
            0.813999999998487,
            3.82819999999992,
            0.826199999999517,
            8.07440000000133,
            -1.59080000000176,
            5.01780000000144,
            0.455399999998917,
            -0.24199999999837,
            0.174800000000687,
            -9.07640000000174,
            -4.20160000000033,
            -3.77520000000004,
            -4.75179999999818,
            -5.3724000000002,
            -8.90680000000066,
            -6.10239999999976,
            -5.74120000000039,
            -9.95339999999851,
            -3.86339999999836,
            -13.7304000000004,
            -16.2710000000006,
            -7.51359999999841,
            -3.30679999999847,
            -13.1339999999982,
            -10.0551999999989,
            -6.72019999999975,
            -8.59660000000076,
            -10.9307999999983,
            -1.8775999999998,
            -4.82259999999951,
            -13.7788,
            -21.6470000000008,
            -10.6735999999983,
            -15.7799999999988,
        },
        // precision 13
        {
            5907.5052,         5802.2672,
            5697.347,          5593.5794,
            5491.2622,         5390.5514,
            5290.3376,         5191.6952,
            5093.5988,         4997.3552,
            4902.5972,         4808.3082,
            4715.5646,         4624.109,
            4533.8216,         4444.4344,
            4356.3802,         4269.2962,
            4183.3784,         4098.292,
            4014.79,           3932.4574,
            3850.6036,         3771.2712,
            3691.7708,         3615.099,
            3538.1858,         3463.4746,
            3388.8496,         3315.6794,
            3244.5448,         3173.7516,
            3103.3106,         3033.6094,
            2966.5642,         2900.794,
            2833.7256,         2769.81,
            2707.3196,         2644.0778,
            2583.9916,         2523.4662,
            2464.124,          2406.073,
            2347.0362,         2292.1006,
            2238.1716,         2182.7514,
            2128.4884,         2077.1314,
            2025.037,          1975.3756,
            1928.933,          1879.311,
            1831.0006,         1783.2144,
            1738.3096,         1694.5144,
            1649.024,          1606.847,
            1564.7528,         1525.3168,
            1482.5372,         1443.9668,
            1406.5074,         1365.867,
            1329.2186,         1295.4186,
            1257.9716,         1225.339,
            1193.2972,         1156.3578,
            1125.8686,         1091.187,
            1061.4094,         1029.4188,
            1000.9126,         972.3272,
            944.004199999999,  915.7592,
            889.965,           862.834200000001,
            840.4254,          812.598399999999,
            785.924200000001,  763.050999999999,
            741.793799999999,  721.466,
            699.040799999999,  677.997200000002,
            649.866999999998,  634.911800000002,
            609.8694,          591.981599999999,
            570.2922,          557.129199999999,
            538.3858,          521.872599999999,
            502.951400000002,  495.776399999999,
            475.171399999999,  459.751,
            439.995200000001,  426.708999999999,
            413.7016,          402.3868,
            387.262599999998,  372.0524,
            357.050999999999,  342.5098,
            334.849200000001,  322.529399999999,
            311.613799999999,  295.848000000002,
            289.273000000001,  274.093000000001,
            263.329600000001,  251.389599999999,
            245.7392,          231.9614,
            229.7952,          217.155200000001,
            208.9588,          199.016599999999,
            190.839199999999,  180.6976,
            176.272799999999,  166.976999999999,
            162.5252,          151.196400000001,
            149.386999999999,  133.981199999998,
            130.0586,          130.164000000001,
            122.053400000001,  110.7428,
            108.1276,          106.232400000001,
            100.381600000001,  98.7668000000012,
            86.6440000000002,  79.9768000000004,
            82.4722000000002,  68.7026000000005,
            70.1186000000016,  71.9948000000004,
            58.998599999999,   59.0492000000013,
            56.9818000000014,  47.5338000000011,
            42.9928,           51.1591999999982,
            37.2740000000013,  42.7220000000016,
            31.3734000000004,  26.8090000000011,
            25.8934000000008,  26.5286000000015,
            29.5442000000003,  19.3503999999994,
            26.0760000000009,  17.9527999999991,
            14.8419999999969,  10.4683999999979,
            8.65899999999965,  9.86720000000059,
            4.34139999999752,  -0.907800000000861,
            -3.32080000000133, -0.936199999996461,
            -11.9916000000012, -8.87000000000262,
            -6.33099999999831, -11.3366000000024,
            -15.9207999999999, -9.34659999999712,
            -15.5034000000014, -19.2097999999969,
            -15.357799999998,  -28.2235999999975,
            -30.6898000000001, -19.3271999999997,
            -25.6083999999973, -24.409599999999,
            -13.6385999999984, -33.4473999999973,
            -32.6949999999997, -28.9063999999998,
            -31.7483999999968, -32.2935999999972,
            -35.8329999999987, -47.620600000002,
            -39.0855999999985, -33.1434000000008,
            -46.1371999999974, -37.5892000000022,
            -46.8164000000033, -47.3142000000007,
            -60.2914000000019, -37.7575999999972,
        },
        // precision 14
        {
            11816.475,         11605.0046,        11395.3792,
            11188.7504,        10984.1814,        10782.0086,
            10582.0072,        10384.503,         10189.178,
            9996.2738,         9806.0344,         9617.9798,
            9431.394,          9248.7784,         9067.6894,
            8889.6824,         8712.9134,         8538.8624,
            8368.4944,         8197.7956,         8031.8916,
            7866.6316,         7703.733,          7544.5726,
            7386.204,          7230.666,          7077.8516,
            6926.7886,         6778.6902,         6631.9632,
            6487.304,          6346.7486,         6206.4408,
            6070.202,          5935.2576,         5799.924,
            5671.0324,         5541.9788,         5414.6112,
            5290.0274,         5166.723,          5047.6906,
            4929.162,          4815.1406,         4699.127,
            4588.5606,         4477.7394,         4369.4014,
            4264.2728,         4155.9224,         4055.581,
            3955.505,          3856.9618,         3761.3828,
            3666.9702,         3575.7764,         3482.4132,
            3395.0186,         3305.8852,         3221.415,
            3138.6024,         3056.296,          2970.4494,
            2896.1526,         2816.8008,         2740.2156,
            2670.497,          2594.1458,         2527.111,
            2460.8168,         2387.5114,         2322.9498,
            2260.6752,         2194.2686,         2133.7792,
            2074.767,          2015.204,          1959.4226,
            1898.6502,         1850.006,          1792.849,
            1741.4838,         1687.9778,         1638.1322,
            1589.3266,         1543.1394,         1496.8266,
            1447.8516,         1402.7354,         1361.9606,
            1327.0692,         1285.4106,         1241.8112,
            1201.6726,         1161.973,          1130.261,
            1094.2036,         1048.2036,         1020.6436,
            990.901400000002,  961.199800000002,  924.769800000002,
            899.526400000002,  872.346400000002,  834.375,
            810.432000000001,  780.659800000001,  756.013800000001,
            733.479399999997,  707.923999999999,  673.858,
            652.222399999999,  636.572399999997,  615.738599999997,
            586.696400000001,  564.147199999999,  541.679600000003,
            523.943599999999,  505.714599999999,  475.729599999999,
            461.779600000002,  449.750800000002,  439.020799999998,
            412.7886,          400.245600000002,  383.188199999997,
            362.079599999997,  357.533799999997,  334.319000000003,
            327.553399999997,  308.559399999998,  291.270199999999,
            279.351999999999,  271.791400000002,  252.576999999997,
            247.482400000001,  236.174800000001,  218.774599999997,
            220.155200000001,  208.794399999999,  201.223599999998,
            182.995600000002,  185.5268,          164.547400000003,
            176.5962,          150.689599999998,  157.8004,
            138.378799999999,  134.021200000003,  117.614399999999,
            108.194000000003,  97.0696000000025,  89.6042000000016,
            95.6030000000028,  84.7810000000027,  72.635000000002,
            77.3482000000004,  59.4907999999996,  55.5875999999989,
            50.7346000000034,  61.3916000000027,  50.9149999999936,
            39.0384000000049,  58.9395999999979,  29.633600000001,
            28.2032000000036,  26.0078000000067,  17.0387999999948,
            9.22000000000116,  13.8387999999977,  8.07240000000456,
            14.1549999999988,  15.3570000000036,  3.42660000000615,
            6.24820000000182,  -2.96940000000177, -8.79940000000352,
            -5.97860000000219, -14.4048000000039, -3.4143999999942,
            -13.0148000000045, -11.6977999999945, -25.7878000000055,
            -22.3185999999987, -24.409599999999,  -31.9756000000052,
            -18.9722000000038, -22.8678000000073, -30.8972000000067,
            -32.3715999999986, -22.3907999999938, -43.6720000000059,
            -35.9038,          -39.7492000000057, -54.1641999999993,
            -45.2749999999942, -42.2989999999991, -44.1089999999967,
            -64.3564000000042, -49.9551999999967, -42.6116000000038,
        },
        // precision 15
        {
            23634.0036,
            23210.8034,
            22792.4744,
            22379.1524,
            21969.7928,
            21565.326,
            21165.3532,
            20770.2806,
            20379.9892,
            19994.7098,
            19613.318,
            19236.799,
            18865.4382,
            18498.8244,
            18136.5138,
            17778.8668,
            17426.2344,
            17079.32,
            16734.778,
            16397.2418,
            16063.3324,
            15734.0232,
            15409.731,
            15088.728,
            14772.9896,
            14464.1402,
            14157.5588,
            13855.5958,
            13559.3296,
            13264.9096,
            12978.326,
            12692.0826,
            12413.8816,
            12137.3192,
            11870.2326,
            11602.5554,
            11340.3142,
            11079.613,
            10829.5908,
            10583.5466,
            10334.0344,
            10095.5072,
            9859.694,
            9625.2822,
            9395.7862,
            9174.0586,
            8957.3164,
            8738.064,
            8524.155,
            8313.7396,
            8116.9168,
            7913.542,
            7718.4778,
            7521.65,
            7335.5596,
            7154.2906,
            6968.7396,
            6786.3996,
            6613.236,
            6437.406,
            6270.6598,
            6107.7958,
            5945.7174,
            5787.6784,
            5635.5784,
            5482.308,
            5337.9784,
            5190.0864,
            5045.9158,
            4919.1386,
            4771.817,
            4645.7742,
            4518.4774,
            4385.5454,
            4262.6622,
            4142.74679999999,
            4015.5318,
            3897.9276,
            3790.7764,
            3685.13800000001,
            3573.6274,
            3467.9706,
            3368.61079999999,
            3271.5202,
            3170.3848,
            3076.4656,
            2982.38400000001,
            2888.4664,
            2806.4868,
            2711.9564,
            2634.1434,
            2551.3204,
            2469.7662,
            2396.61139999999,
            2318.9902,
            2243.8658,
            2171.9246,
            2105.01360000001,
            2028.8536,
            1960.9952,
            1901.4096,
            1841.86079999999,
            1777.54700000001,
            1714.5802,
            1654.65059999999,
            1596.311,
            1546.2016,
            1492.3296,
            1433.8974,
            1383.84600000001,
            1339.4152,
            1293.5518,
            1245.8686,
            1193.50659999999,
            1162.27959999999,
            1107.19439999999,
            1069.18060000001,
            1035.09179999999,
            999.679000000004,
            957.679999999993,
            925.300199999998,
            888.099400000006,
            848.638600000006,
            818.156400000007,
            796.748399999997,
            752.139200000005,
            725.271200000003,
            692.216,
            671.633600000001,
            647.939799999993,
            621.670599999998,
            575.398799999995,
            561.226599999995,
            532.237999999998,
            521.787599999996,
            483.095799999996,
            467.049599999998,
            465.286399999997,
            415.548599999995,
            401.047399999996,
            380.607999999993,
            377.362599999993,
            347.258799999996,
            338.371599999999,
            310.096999999994,
            301.409199999995,
            276.280799999993,
            265.586800000005,
            258.994399999996,
            223.915999999997,
            215.925399999993,
            213.503800000006,
            191.045400000003,
            166.718200000003,
            166.259000000005,
            162.941200000001,
            148.829400000002,
            141.645999999993,
            123.535399999993,
            122.329800000007,
            89.473399999988,
            80.1962000000058,
            77.5457999999926,
            59.1056000000099,
            83.3509999999951,
            52.2906000000075,
            36.3979999999865,
            40.6558000000077,
            42.0003999999899,
            19.6630000000005,
            19.7153999999864,
            -8.38539999999921,
            -0.692799999989802,
            0.854800000000978,
            3.23219999999856,
            -3.89040000000386,
            -5.25880000001052,
            -24.9052000000083,
            -22.6837999999989,
            -26.4286000000138,
            -34.997000000003,
            -37.0216000000073,
            -43.430400000012,
            -58.2390000000014,
            -68.8034000000043,
            -56.9245999999985,
            -57.8583999999973,
            -77.3097999999882,
            -73.2793999999994,
            -81.0738000000129,
            -87.4530000000086,
            -65.0254000000132,
            -57.296399999992,
            -96.2746000000043,
            -103.25,
            -96.081600000005,
            -91.5542000000132,
            -102.465200000006,
            -107.688599999994,
            -101.458000000013,
            -109.715800000005,
        },
        // precision 16
        {
            47270,
            46423.3584,
            45585.7074,
            44757.152,
            43938.8416,
            43130.9514,
            42330.03,
            41540.407,
            40759.6348,
            39988.206,
            39226.5144,
            38473.2096,
            37729.795,
            36997.268,
            36272.6448,
            35558.665,
            34853.0248,
            34157.4472,
            33470.5204,
            32793.5742,
            32127.0194,
            31469.4182,
            30817.6136,
            30178.6968,
            29546.8908,
            28922.8544,
            28312.271,
            27707.0924,
            27114.0326,
            26526.692,
            25948.6336,
            25383.7826,
            24823.5998,
            24272.2974,
            23732.2572,
            23201.4976,
            22674.2796,
            22163.6336,
            21656.515,
            21161.7362,
            20669.9368,
            20189.4424,
            19717.3358,
            19256.3744,
            18795.9638,
            18352.197,
            17908.5738,
            17474.391,
            17052.918,
            16637.2236,
            16228.4602,
            15823.3474,
            15428.6974,
            15043.0284,
            14667.6278,
            14297.4588,
            13935.2882,
            13578.5402,
            13234.6032,
            12882.1578,
            12548.0728,
            12219.231,
            11898.0072,
            11587.2626,
            11279.9072,
            10973.5048,
            10678.5186,
            10392.4876,
            10105.2556,
            9825.766,
            9562.5444,
            9294.2222,
            9038.2352,
            8784.848,
            8533.2644,
            8301.7776,
            8058.30859999999,
            7822.94579999999,
            7599.11319999999,
            7366.90779999999,
            7161.217,
            6957.53080000001,
            6736.212,
            6548.21220000001,
            6343.06839999999,
            6156.28719999999,
            5975.15419999999,
            5791.75719999999,
            5621.32019999999,
            5451.66,
            5287.61040000001,
            5118.09479999999,
            4957.288,
            4798.4246,
            4662.17559999999,
            4512.05900000001,
            4364.68539999999,
            4220.77720000001,
            4082.67259999999,
            3957.19519999999,
            3842.15779999999,
            3699.3328,
            3583.01180000001,
            3473.8964,
            3338.66639999999,
            3233.55559999999,
            3117.799,
            3008.111,
            2909.69140000001,
            2814.86499999999,
            2719.46119999999,
            2624.742,
            2532.46979999999,
            2444.7886,
            2370.1868,
            2272.45259999999,
            2196.19260000001,
            2117.90419999999,
            2023.2972,
            1969.76819999999,
            1885.58979999999,
            1833.2824,
            1733.91200000001,
            1682.54920000001,
            1604.57980000001,
            1556.11240000001,
            1491.3064,
            1421.71960000001,
            1371.22899999999,
            1322.1324,
            1264.7892,
            1196.23920000001,
            1143.8474,
            1088.67240000001,
            1073.60380000001,
            1023.11660000001,
            959.036400000012,
            927.433199999999,
            906.792799999996,
            853.433599999989,
            841.873800000001,
            791.1054,
            756.899999999994,
            704.343200000003,
            672.495599999995,
            622.790399999998,
            611.254799999995,
            567.283200000005,
            519.406599999988,
            519.188400000014,
            495.312800000014,
            451.350799999986,
            443.973399999988,
            431.882199999993,
            392.027000000002,
            380.924200000009,
            345.128999999986,
            298.901400000002,
            287.771999999997,
            272.625,
            247.253000000026,
            222.490600000019,
            223.590000000026,
            196.407599999977,
            176.425999999978,
            134.725199999986,
            132.4804,
            110.445599999977,
            86.7939999999944,
            56.7038000000175,
            64.915399999998,
            38.3726000000024,
            37.1606000000029,
            46.170999999973,
            49.1716000000015,
            15.3362000000197,
            6.71639999997569,
            -34.8185999999987,
            -39.4476000000141,
            12.6830000000191,
            -12.3331999999937,
            -50.6565999999875,
            -59.9538000000175,
            -65.1054000000004,
            -70.7576000000117,
            -106.325200000021,
            -126.852200000023,
            -110.227599999984,
            -132.885999999999,
            -113.897200000007,
            -142.713800000027,
            -151.145399999979,
            -150.799200000009,
            -177.756200000003,
            -156.036399999983,
            -182.735199999996,
            -177.259399999981,
            -198.663600000029,
            -174.577600000019,
            -193.84580000001,
        },
        // precision 17
        {
            94541,
            92848.811,
            91174.019,
            89517.558,
            87879.9705,
            86262.7565,
            84663.5125,
            83083.7435,
            81521.7865,
            79977.272,
            78455.9465,
            76950.219,
            75465.432,
            73994.152,
            72546.71,
            71115.2345,
            69705.6765,
            68314.937,
            66944.2705,
            65591.255,
            64252.9485,
            62938.016,
            61636.8225,
            60355.592,
            59092.789,
            57850.568,
            56624.518,
            55417.343,
            54231.1415,
            53067.387,
            51903.526,
            50774.649,
            49657.6415,
            48561.05,
            47475.7575,
            46410.159,
            45364.852,
            44327.053,
            43318.4005,
            42325.6165,
            41348.4595,
            40383.6265,
            39436.77,
            38509.502,
            37594.035,
            36695.939,
            35818.6895,
            34955.691,
            34115.8095,
            33293.949,
            32465.0775,
            31657.6715,
            30877.2585,
            30093.78,
            29351.3695,
            28594.1365,
            27872.115,
            27168.7465,
            26477.076,
            25774.541,
            25106.5375,
            24452.5135,
            23815.5125,
            23174.0655,
            22555.2685,
            21960.2065,
            21376.3555,
            20785.1925,
            20211.517,
            19657.0725,
            19141.6865,
            18579.737,
            18081.3955,
            17578.995,
            17073.44,
            16608.335,
            16119.911,
            15651.266,
            15194.583,
            14749.0495,
            14343.4835,
            13925.639,
            13504.509,
            13099.3885,
            12691.2855,
            12328.018,
            11969.0345,
            11596.5145,
            11245.6355,
            10917.6575,
            10580.9785,
            10277.8605,
            9926.58100000001,
            9605.538,
            9300.42950000003,
            8989.97850000003,
            8728.73249999998,
            8448.3235,
            8175.31050000002,
            7898.98700000002,
            7629.79100000003,
            7413.76199999999,
            7149.92300000001,
            6921.12650000001,
            6677.1545,
            6443.28000000003,
            6278.23450000002,
            6014.20049999998,
            5791.20299999998,
            5605.78450000001,
            5438.48800000001,
            5234.2255,
            5059.6825,
            4887.43349999998,
            4682.935,
            4496.31099999999,
            4322.52250000002,
            4191.42499999999,
            4021.24200000003,
            3900.64799999999,
            3762.84250000003,
            3609.98050000001,
            3502.29599999997,
            3363.84250000003,
            3206.54849999998,
            3079.70000000001,
            2971.42300000001,
            2867.80349999998,
            2727.08100000001,
            2630.74900000001,
            2496.6165,
            2440.902,
            2356.19150000002,
            2235.58199999999,
            2120.54149999999,
            2012.25449999998,
            1933.35600000003,
            1820.93099999998,
            1761.54800000001,
            1663.09350000002,
            1578.84600000002,
            1509.48149999999,
            1427.3345,
            1379.56150000001,
            1306.68099999998,
            1212.63449999999,
            1084.17300000001,
            1124.16450000001,
            1060.69949999999,
            1007.48849999998,
            941.194499999983,
            879.880500000028,
            836.007500000007,
            782.802000000025,
            748.385499999975,
            647.991500000004,
            626.730500000005,
            570.776000000013,
            484.000500000024,
            513.98550000001,
            418.985499999952,
            386.996999999974,
            370.026500000036,
            355.496999999974,
            356.731499999994,
            255.92200000002,
            259.094000000041,
            205.434499999974,
            165.374500000034,
            197.347500000033,
            95.718499999959,
            67.6165000000037,
            54.6970000000438,
            31.7395000000251,
            -15.8784999999916,
            8.42500000004657,
            -26.3754999999655,
            -118.425500000012,
            -66.6629999999423,
            -42.9745000000112,
            -107.364999999991,
            -189.839000000036,
            -162.611499999999,
            -164.964999999967,
            -189.079999999958,
            -223.931499999948,
            -235.329999999958,
            -269.639500000048,
            -249.087999999989,
            -206.475499999942,
            -283.04449999996,
            -290.667000000016,
            -304.561499999953,
            -336.784499999951,
            -380.386500000022,
            -283.280499999993,
            -364.533000000054,
            -389.059499999974,
            -364.454000000027,
            -415.748000000021,
            -417.155000000028,
        },
        // precision 18
        {
            189083,
            185696.913,
            182348.774,
            179035.946,
            175762.762,
            172526.444,
            169329.754,
            166166.099,
            163043.269,
            159958.91,
            156907.912,
            153906.845,
            150924.199,
            147996.568,
            145093.457,
            142239.233,
            139421.475,
            136632.27,
            133889.588,
            131174.2,
            128511.619,
            125868.621,
            123265.385,
            120721.061,
            118181.769,
            115709.456,
            113252.446,
            110840.198,
            108465.099,
            106126.164,
            103823.469,
            101556.618,
            99308.004,
            97124.508,
            94937.803,
            92833.731,
            90745.061,
            88677.627,
            86617.47,
            84650.442,
            82697.833,
            80769.132,
            78879.629,
            77014.432,
            75215.626,
            73384.587,
            71652.482,
            69895.93,
            68209.301,
            66553.669,
            64921.981,
            63310.323,
            61742.115,
            60205.018,
            58698.658,
            57190.657,
            55760.865,
            54331.169,
            52908.167,
            51550.273,
            50225.254,
            48922.421,
            47614.533,
            46362.049,
            45098.569,
            43926.083,
            42736.03,
            41593.473,
            40425.26,
            39316.237,
            38243.651,
            37170.617,
            36114.609,
            35084.19,
            34117.233,
            33206.509,
            32231.505,
            31318.728,
            30403.404,
            29540.0550000001,
            28679.236,
            27825.862,
            26965.216,
            26179.148,
            25462.08,
            24645.952,
            23922.523,
            23198.144,
            22529.128,
            21762.4179999999,
            21134.779,
            20459.117,
            19840.818,
            19187.04,
            18636.3689999999,
            17982.831,
            17439.7389999999,
            16874.547,
            16358.2169999999,
            15835.684,
            15352.914,
            14823.681,
            14329.313,
            13816.897,
            13342.874,
            12880.882,
            12491.648,
            12021.254,
            11625.392,
            11293.7610000001,
            10813.697,
            10456.209,
            10099.074,
            9755.39000000001,
            9393.18500000006,
            9047.57900000003,
            8657.98499999999,
            8395.85900000005,
            8033,
            7736.95900000003,
            7430.59699999995,
            7258.47699999996,
            6924.58200000005,
            6691.29399999999,
            6357.92500000005,
            6202.05700000003,
            5921.19700000004,
            5628.28399999999,
            5404.96799999999,
            5226.71100000001,
            4990.75600000005,
            4799.77399999998,
            4622.93099999998,
            4472.478,
            4171.78700000001,
            3957.46299999999,
            3868.95200000005,
            3691.14300000004,
            3474.63100000005,
            3341.67200000002,
            3109.14000000001,
            3071.97400000005,
            2796.40399999998,
            2756.17799999996,
            2611.46999999997,
            2471.93000000005,
            2382.26399999997,
            2209.22400000005,
            2142.28399999999,
            2013.96100000001,
            1911.18999999994,
            1818.27099999995,
            1668.47900000005,
            1519.65800000005,
            1469.67599999998,
            1367.13800000004,
            1248.52899999998,
            1181.23600000003,
            1022.71900000004,
            1088.20700000005,
            959.03600000008,
            876.095999999903,
            791.183999999892,
            703.337000000058,
            731.949999999953,
            586.86400000006,
            526.024999999907,
            323.004999999888,
            320.448000000091,
            340.672999999952,
            309.638999999966,
            216.601999999955,
            102.922999999952,
            19.2399999999907,
            -0.114000000059605,
            -32.6240000000689,
            -89.3179999999702,
            -153.497999999905,
            -64.2970000000205,
            -143.695999999996,
            -259.497999999905,
            -253.017999999924,
            -213.948000000091,
            -397.590000000084,
            -434.006000000052,
            -403.475000000093,
            -297.958000000101,
            -404.317000000039,
            -528.898999999976,
            -506.621000000043,
            -513.205000000075,
            -479.351000000024,
            -596.139999999898,
            -527.016999999993,
            -664.681000000099,
            -680.306000000099,
            -704.050000000047,
            -850.486000000034,
            -757.43200000003,
            -713.308999999892,
        }};

const double ObHiveHLLConstants::INVERSE_POW2_DATA[INVERSE_POW2_DATA_SIZE] = {
    1.0 / static_cast<double>(1ULL << 0),  // 1/1
    1.0 / static_cast<double>(1ULL << 1),  // 1/2
    1.0 / static_cast<double>(1ULL << 2),  // 1/4
    1.0 / static_cast<double>(1ULL << 3),  // 1/8
    1.0 / static_cast<double>(1ULL << 4),  // 1/16
    1.0 / static_cast<double>(1ULL << 5),  // 1/32
    1.0 / static_cast<double>(1ULL << 6),  // 1/64
    1.0 / static_cast<double>(1ULL << 7),  // 1/128
    1.0 / static_cast<double>(1ULL << 8),  // 1/256
    1.0 / static_cast<double>(1ULL << 9),  // 1/512
    1.0 / static_cast<double>(1ULL << 10), // 1/1024
    1.0 / static_cast<double>(1ULL << 11), // 1/2048
    1.0 / static_cast<double>(1ULL << 12), // 1/4096
    1.0 / static_cast<double>(1ULL << 13), // 1/8192
    1.0 / static_cast<double>(1ULL << 14), // 1/16384
    1.0 / static_cast<double>(1ULL << 15), // 1/32768
    1.0 / static_cast<double>(1ULL << 16), // 1/65536
    1.0 / static_cast<double>(1ULL << 17), // 1/131072
    1.0 / static_cast<double>(1ULL << 18), // 1/262144
    1.0 / static_cast<double>(1ULL << 19), // 1/524288
    1.0 / static_cast<double>(1ULL << 20), // 1/1048576
    1.0 / static_cast<double>(1ULL << 21), // 1/2097152
    1.0 / static_cast<double>(1ULL << 22), // 1/4194304
    1.0 / static_cast<double>(1ULL << 23), // 1/8388608
    1.0 / static_cast<double>(1ULL << 24), // 1/16777216
    1.0 / static_cast<double>(1ULL << 25), // 1/33554432
    1.0 / static_cast<double>(1ULL << 26), // 1/67108864
    1.0 / static_cast<double>(1ULL << 27), // 1/134217728
    1.0 / static_cast<double>(1ULL << 28), // 1/268435456
    1.0 / static_cast<double>(1ULL << 29), // 1/536870912
    1.0 / static_cast<double>(1ULL << 30), // 1/1073741824
    1.0 / static_cast<double>(1ULL << 31), // 1/2147483648
    1.0 / static_cast<double>(1ULL << 32), // 1/4294967296
    1.0 / static_cast<double>(1ULL << 33), // 1/8589934592
    1.0 / static_cast<double>(1ULL << 34), // 1/17179869184
    1.0 / static_cast<double>(1ULL << 35), // 1/34359738368
    1.0 / static_cast<double>(1ULL << 36), // 1/68719476736
    1.0 / static_cast<double>(1ULL << 37), // 1/137438953472
    1.0 / static_cast<double>(1ULL << 38), // 1/274877906944
    1.0 / static_cast<double>(1ULL << 39), // 1/549755813888
    1.0 / static_cast<double>(1ULL << 40), // 1/1099511627776
    1.0 / static_cast<double>(1ULL << 41), // 1/2199023255552
    1.0 / static_cast<double>(1ULL << 42), // 1/4398046511104
    1.0 / static_cast<double>(1ULL << 43), // 1/8796093022208
    1.0 / static_cast<double>(1ULL << 44), // 1/17592186044416
    1.0 / static_cast<double>(1ULL << 45), // 1/35184372088832
    1.0 / static_cast<double>(1ULL << 46), // 1/70368744177664
    1.0 / static_cast<double>(1ULL << 47), // 1/140737488355328
    1.0 / static_cast<double>(1ULL << 48), // 1/281474976710656
    1.0 / static_cast<double>(1ULL << 49), // 1/562949953421312
    1.0 / static_cast<double>(1ULL << 50), // 1/1125899906842624
    1.0 / static_cast<double>(1ULL << 51), // 1/2251799813685248
    1.0 / static_cast<double>(1ULL << 52), // 1/4503599627370496
    1.0 / static_cast<double>(1ULL << 53), // 1/9007199254740992
    1.0 / static_cast<double>(1ULL << 54), // 1/18014398509481984
    1.0 / static_cast<double>(1ULL << 55), // 1/36028797018963968
    1.0 / static_cast<double>(1ULL << 56), // 1/72057594037927936
    1.0 / static_cast<double>(1ULL << 57), // 1/144115188075855872
    1.0 / static_cast<double>(1ULL << 58), // 1/288230376151711744
    1.0 / static_cast<double>(1ULL << 59), // 1/576460752303423488
    1.0 / static_cast<double>(1ULL << 60), // 1/1152921504606846976
    1.0 / static_cast<double>(1ULL << 61), // 1/2305843009213693952
    1.0 / static_cast<double>(1ULL << 62), // 1/4611686018427387904
    1.0 / static_cast<double>(1ULL << 63), // 1/9223372036854775808
};

} // namespace share
} // namespace oceanbase